home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-07-01 | 294.2 KB | 7,208 lines | [TEXT/R*ch] |
- Gestalt Selectors List 3.4.2
- ============================
-
- Maintained and published by Rene G.A. Ros (rgaros@bio.vu.nl)
-
- First published: 12 October 1992, 13:15 CET (GMT+1)
- Last version : 14 May 1996, 07:45 CET (GMT+2, DST)
- Previous update: 3 June 1996, 07:30 CET (GMT+2, DST)
- Last modified : 1 July 1996, 22:30 CET (GMT+2, DST)
-
- This document lists all selectors, known to the creator, for use with the
- Gestalt Manager. They can include selector codes installed by Apple (system)
- software or by software from third parties (your software?).
- The information in this list is useful for programmers who use the Gestalt
- Manager with their software (even using externals, as with HyperCard,
- 4th Dimension and so on).
- To use this list, you should be familiar with the Gestalt Manager as
- described in Inside Macintosh: Operating System Utilities.
-
- This file can be best viewed with a mono-spaced font like Monaco. Because
- it is wrapped as setext you can use several utilities to index and read it.
- For the Macintosh you can use Easy View and on a UNIX system sv (setext
- viewer) works fine. Both are available by FTP from sumex-aim.stanford.edu
- (or its mirrors!), archived respectively as:
- ftp://sumex-aim.stanford.edu/info-mac/text/easy-view-261.hqx
- ftp://sumex-aim.stanford.edu/info-mac/text/easy-view-262-updt.hqx
- ftp://sumex-aim.stanford.edu/info-mac/text/setext-viewer-05-unix.uu
-
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- See the chapters at the end for more information about this list.
-
- Contents
- --------
- Gestalt Selectors List
- Contents
- Contributions
- Changes Overview
- Wish List
- Apple System Software (A-E)
- Apple System Software (F-K)
- Apple System Software (L-N)
- Apple System Software (O-S)
- Apple System Software (T-Z)
- Apple Additional Software
- Third Parties Software
- Unknown Apple Software
- Unknown Third Parties Software
- Gestalt Manager Calls
- Gestalt Manager Routines
- Gestalt Value Routines
- Undocumented Gestalt Manager Routines
- Custom Routines
- Reports
- Accessing the Gestalt Manager
- AppleShare File & Print Server selector codes
- AppleTalk
- Clock Chipped
- Copland
- Copy protection using Gestalt
- Environs & SysEnvirons
- Executor Mac-emulator
- Gestalt Apple Event
- Gestalt Applications
- GestaltValue
- GestaltValue & CodeWarrior Problem
- Glue code
- INITGestalt standard
- Machine Names
- Macintosh Application Environment
- Macintosh Compatibles
- Modern Memory Manager
- PPC Libraries
- QuickTime
- RAM Doubler
- Relabled Macintosh Models
- General Info
- System Managers
- Gestalt Problems
- History
- Abbreviations
- Sources
- Definitions and Formats
- Use in Language
- Definitions
- Format Selector Entry
- Format Version Numbers
- About this list
- Availability
- Gestalt Submission Form
- Acknowledgements
- Legal Stuff
- Editor's Address
-
- Contributions
- -------------
- This section lists the people who contributed information which is now
- included with this version of the list.
-
- ===========================================================================
- Contributions to the selector sections
- ===========================================================================
- Person Software Selector(s) added/changed
- ---------------------------------------------------------------------------
- Anonymous System alis, bclk, cput, pclk
- System? ata , hrad, srad
- System Update enbl sysu
- Video Startup ext tv
- Jean-Pierre Curcio Open Transport lib otmo, otmv, otra, otrv
- Remote Access Aliases ext
- strm
- System bclk, pclk
- Jeff Holcomb QuickTime Conferencing ext?
- qtci
- Marco Piovanelli FreePPP cp? PPPp
- Quinn "The Eskimo!" MacTCP mtcp
- Rene Ros d2 FM software d2FM
- Hidden Finder Features cp
- fndx
- Serial Enabler cp SSpe
- Sibling Rivalry ext Sibl
- StuffIt SpaceSaver? ext SLi3, SLip
- System bugx, bugy, mach, pclk
- System ? sr/2
- System 7.5.3 Rev. 2 sysu
- True Finder Integration? cp?
- TFI1, TFI2, TFI3, TFI4
- WakeUp Items cp WkUp
- unknown ASB!, ASB$, ASB*, HotK, Zoom
- Maurice Volaski, Flux Software
- SmartKeys cp SK3F, SKey, SKgc
- ---------------------------------------------------------------------------
-
- ===========================================================================
- Contributions to the non-selector sections
- ===========================================================================
- Person Chapter/Section
- ---------------------------------------------------------------------------
-
- ---------------------------------------------------------------------------
-
- Changes Overview
- ----------------
- Added selectors
- Apple System : ata
- Apple Add. : -
- Third Parties : SK3F, SKgc
- Added unknown
- Apple Softw. : sr/2
- Third Parties : ASB!, ASB$, ASB*, HotK, PPPp, Sibl, TFI1, TFI2, TFI3,
- TFI4, WkUp, Zoom
- Changed selectors
- Apple System : alis, bclk, mach, pclk, tv , sysu
- Apple Add. : mtlk, qtci
- Third Parties : SKey
- Changed unknown
- Apple Softw. : bugx, bugy, fndx
- Third Parties : -
- Previously unknown
- Apple System : bclk, hrad, pclk, srad, sysu
- Apple Add. : -
- Third Parties : -
- Includes updates 3.4.1 up to and including 3.4.2, sent to subscribers of
- the mailing list.
-
- The gestaltMachineType ('mach') entry is restructured.
-
- Wish list
- ---------
- The table below lists the topics on which more information is needed
- regarding the Gestalt selectors which provide information about these
- topics.
-
- ===========================================================================
- WANTED
- ===========================================================================
- Information wanted about:
- ---------------------------------------------------------------------------
- Copland:
- Feature Manager
- Notification Manager: notifier support
- Tip Manager
- Trigger Manager
- Scheduled Task Manager
- FireWire
- Game Sprockets API
- Gestalt Manager its future
- multi-processing 'kbd ' already obsolete, 'proc' also? :-)
- Pippin
- PPCP full: PowerPC Platform; formerly CHRP
- QuickTime VR nothing? now as library, later as extension?
- RAID compatible drivers installed?
- SD-ROM Super CD-ROM (10x capacity CD-ROM) driver software?
- Universal Serial Bus (USB)
-
- machine IDs for the latest or upcoming Macs
-
- and more info for the General Info/System Managers section
- ---------------------------------------------------------------------------
-
- Apple System Software (A-E)
- ===========================
- This chapter lists selector codes of which the meaning is documented and
- the first character of the selector code is in the A-E range.
-
- a/ux (A/UX [2.0?])
- (System [6.0.4])
- gestaltAUXVersion
- Returns the version of A/UX, if it is executing, as BCD?
-
- #define gestaltAUXVersion 'a/ux' /* A/UX version, if present */
-
- NOTES:
- If Gestalt doesn't know the answer, test bit 9 of the HWCFgFlag
- system global (0x0B22; word). If set, assume you have A/UX 1.0.
-
- This selector also indicates if you're running under MAE on an
- UNIX machine. &AD08
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero when A/UX is not installed. (Rene Ros)
-
- addr (System [6.0.4])
- gestaltAddressingModeAttr
- Returns information about the current addressing mode.
-
- enum {
- #define gestaltAddressingModeAttr 'addr' /* addressing mode attr. */
- gestalt32BitAddressing = 0, /* started up with 32-bit addr. */
- gestalt32BitSysZone = 1, /* system heap has 32-bit clean */
- /* block headers */
- gestalt32BitCapable = 2}; /* machine is 32-bit capable */
-
- afps (AppleShare ext [3.5?], part of System 7.5) &AD18
- gestaltAppleShareClient?
- Returns the version of the AppleShare client software as Integer in
- the high-word of the response? The low-word of the response returns
- information on the AppleShare client software? (Rene Ros)
-
- enum {
- #define gestaltAppleShareClient? 'afps'
- gestaltAppleShareVersionMask? = 0xFFFF0000, /* Version is in upper */
- /* 2 bytes of result */
- gestaltAppleShare???Mask? = 0x0001}; /* If set ??? */
- gestaltAppleShare???Mask? = 0x0002}; /* If set ??? */
-
- NOTE:
- No details were given in the source: "...information about the
- characteristics of the workstation and the current version..."
- Seen bits 0 and 16 set (0x00010001) and version 3.6.2 returns
- 0xC0010004 on at least two machines. (Rene Ros)
-
- ag_v (Apple Guide ext [1.2.7])
- gestaltAppleGuideVersion?
- Returns the version number of Apple Guide as BCD.
-
- #define gestaltAppleGuideVersion? 'ag_v'
-
- alis (System [7.0])
- (Remote Access Aliases ext [1.0?], part of Apple Remote Access)
- gestaltAliasMgrAttr
- Returns information about the Alias Manager.
-
- enum {
- #define gestaltAliasMgrAttr 'alis' /* Alias Mgr attributes */
- gestaltAliasMgrPresent = 0,
- gestaltAliasMgrSupportsRemoteAppletalk = 1, /* supports Remote */
- /* Appletalk &AD02 */
- gestaltAliasMgrSupportsAOCEKeychain = 2}; /* True if the Alias */
- /* Mgr knows about */
- /* the AOCE Keychain */
- /* &AS22 */
-
- NOTE: See 'Reports' chapter (QuickTime section) for more information.
-
- ascr (AppleScript ext [1.0])
- gestaltAppleScriptAttr &AS08
- Returns information about AppleScript.
-
- enum {
- #define gestaltAppleScriptAttr 'ascr' /* AppleScript attributes */
- gestaltAppleScriptPresent = 0,
- gestaltAppleScriptPowerPCSupport = 1};
-
- ascv (AppleScript ext [1.0])
- gestaltAppleScriptVersion &AS08
- Returns the version of AppleScript as NumVersion?
-
- #define gestaltAppleScriptVersion 'ascv' /* AppleScript version */
-
- NOTE:
- AppleScript 1.1 returns 0x01100110 which doesn't look like a proper
- version number (version 1.0 returned 0x01008000). (Rene Ros)
- This is actually just a bug in the way AppleScript provides the
- version. Some day it will be fixed. (Jon Pugh)
-
- aslm (Shared Library Manager ext [1.1.1?])
- (System [7.5.3])
- gestaltASLM68K &AS17
- Returns the version of the Shared Library Manager as BCD in the upper
- 2 bytes and attribute bits in the lower 2 bits. NULL is returned when
- ASLM did not load properly at boot time and is not available.
-
- enum {
- #define gestaltASLM68K 'aslm' /* ASLM selector for 68K Macs */
- #define gestaltASLMPPC 'slmp' /* ASLM selector for PPC Macs */
- #define gestaltASLM 'aslm' /* or 'slmp', see below */
- gestaltASLMVersionMask = 0xFFFF0000, /* Version is in upper 2 bytes */
- /* of result */
- gestaltASLMPresentMask = 0x0001, /* If set ASLM is or was */
- /* loaded. */
- gestaltASLMLoadedMask = 0x0002}; /* If set ASLM is currently */
- /* loaded. */
-
- #if GENERATINGPOWERPC
- define gestaltASLM gestaltASLMPPC
- #else
- define gestaltASLM gestaltASLM68K
- #endif
-
- NOTES:
- Earlier (beta?) versions of the ASLM PowerPC used 'ASLM' as the
- selector instead of 'slmp'.
-
- Early releases of Shared Library Manager installed an INIT into the
- system file which registered this selector with an invalid function
- pointer in the case that the Shared Library Manager extension did not
- exist. Calling Gestalt with this selector would then cause a bus error.
- (Paul Cunningham, Teknosys, Inc.)
-
- Shared Library Manager 2.0 (beta) on a Power Macintosh 6100/60
- installs both 'aslm' and 'slmp' selectors. (Rene Ros)
-
- ASLM (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltASLMPPC (old!) &AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
-
- ata (System? [???])
- gestaltATAAttr &AS22
- Returns information about the ATA Manager. ATA is the driver to
- support IDE hard disks.
-
- enum {
- #define gestaltATAAttr 'ata '
- gestaltATAPresent = 0}; /* if set, ATA Manager is present */
-
- NOTE:
- What to test for on machines with IDE drives but without this selector
- installed?
-
- atkv (System [7.0, AppleTalk 56])
- gestaltATalkVersion &AT02
- Returns AppleTalk version as NumVersion. If selector is not present
- then AppleTalk is not present (not loaded at startup). &AD18
-
- This is different from 'atlk' !
-
- #define gestaltATalkVersion 'atkv' /* AppleTalk version &AD01/M01 */
-
- WARNING:
- This selector returns the majorRev field of the NumVersion record as
- hexadecimal instead of the usual BCD.
-
- NOTE: See 'Reports' chapter (AppleTalk section) for more information.
-
- atlk (System [6.0.4])
- gestaltAppleTalkVersion
- Returns the version of the .MPP driver as INTEGER. And returns zero
- when AppleTalk is off. &AD18
-
- #define gestaltAppleTalkVersion 'atlk' /* AppleTalk version */
-
- aucd (Audio CD Access ext [4.0], part of Apple CD-ROM Software) &AT03
- gestaltAudioCDAccessVersion?
- Returns Audio CD Access version as BCD.
-
- #define gestaltAudioCDAccessVersion? 'aucd' /* Audio CD Access */
- /* version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- bclk (System [7.5.2?) INF?
- gestaltBusClkSpeed &AS22
- Returns the main I/O bus clock speed in Hz.
-
- #define gestaltBusClkSpeed 'bclk'
-
- NOTES:
- Only on Power Macintosh, not on 68K computers?
-
- Some 604-based Power Computing models return the wrong value.
-
- See also 'pclk' in this chapter.
-
- BSDa (CloseView cp [???], by Berkeley Systems, Inc.)
- gestaltCloseViewAttr
- Returns information about the CloseView Control Panel.
-
- enum {
- #define gestaltCloseViewAttr 'BSDa' /* CloseView attributes */
- gestaltCloseViewEnabled = 0,
- gestaltCloseViewDisplayMgrFriendly = 1}; /* Closeview compatible */
- /* with Display Manager */
- /* (System 7.5.2?) &AS05 */
-
- cash (System [???]) &S03
- gestaltRAMCacheSize
- Returns byte-size of physical RAM allocated to Disk Cache.
- 0 = Disk Cache Off
-
- #define gestaltRAMCacheSize 'cash' /* RAM cache size */
-
- NOTE:
- This selector is listed in THINK Reference 1.0 but it is unknown which
- System Software version should install it.
-
- cfrg (System [7.1.2? on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- gestaltCFMAttr
- Returns information about the Code Fragment Manager.
-
- enum {
- #define gestaltCFMAttr 'cfrg' /* Code Fragment Mgr attributes */
- gestaltCFMPresent = 0}; /* Code Fragment Manager is present */
-
- cmta (ColorSync ext [1.0.4?]
- gestaltColorMatchingAttr &AD09
- Returns information about the ColorSync Utilities?
-
- enum {
- #define gestaltColorMatchingAttr 'cmta' /* Color Matching Attr. */
- gestaltHighLevelMatching = 0, /* BeginMatching & */
- /* DrawMatchedPicture present */
- gestaltColorMatchingLibLoaded = 1}; /* Native PowerPC shared */
- /* library is loaded. a.k.a. */
- /* gestaltSharedLibLoaded? */
-
- cmtc (ColorSync ext [1.0?])
- gestaltColorMatchingVersion
- Returns the version of the Color Matching software as BCD.
-
- enum {
- #define gestaltColorMatchingVersion 'cmtc' /* Color Matching */
- /* version */
- gestaltColorSync10 = 0x0100, /* &AD09 */
- gestaltColorSync11 = 0x0110, /* &AD09 */
- gestaltColorSync104 = 0x0104, /* &AD09 */
- gestaltColorSync105 = 0x0105, /* &AD09 */
- gestaltColorSync20 = 0x0200}; /* &AD17/AD21 */
-
- NOTE:
- ColorSync 1.0 returns gestaltColorSync10 for the version of the
- utilities that work with System 6.0.7. And gestaltColorSync11 is
- returned by the version that works with System 7.0 and later.
- From version 1.0.4 up the correct version is returned. &AD17
-
- conn (System [7.0])
- gestaltConnMgrAttr
- Returns information about the Connection Manager.
-
- enum {
- #define gestaltConnMgrAttr 'conn' /* Conn. Mgr attributes */
- gestaltConnMgrPresent = 0, /* Connection Mgr is present */
- gestaltConnMgrCMSearchFix = 1, /* fix for CMAddSearch present */
- gestaltConnMgrErrorString = 2, /* has CMGetErrorString &AS02 */
- gestaltConnMgrMultiAsyncIO = 3}; /* CMNewsIOPB,CMDisposeIOPB, */
- /* CMPBRead,CMPBWrite,CMPBIOKill */
- /* &AS02 */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- cpkr (Color Picker ext [2.0?])
- gestaltColorPicker
- gestaltColorPickerVersion
- Returns Color Picker version as BCD.
-
- /* ColorPicker Mgr version */
- #define gestaltColorPicker 'cpkr'
- #define gestaltColorPickerVersion 'cpkr'
-
- NOTE:
- Version 2.0a4 returns as response 0x0001, but version 2.0a5 and
- later (including 2.0f) return 0x0100. (Rene Ros)
-
- cpnt (System [7.1])
- (Color Picker Extension ext [2.0])
- (Color Sync ext [1.0.4?])
- (Macintosh Easy Open cp [1.0?])
- (QuickTime ext [1.0])
- (Speech Manager ext [1.1.1, not 1.2?])
- gestaltComponentMgr
- Returns Component Manager version as INTEGER.
-
- #define gestaltComponentMgr 'cpnt' /* Component Mgr version &AS01 */
-
- cput (System [7.1.2?]) &AS04/AS05
- gestaltNativeCPUtype
- Returns a value that indicates the type of native processor that is
- currently running.
-
- enum {
- #define gestaltNativeCPUtype 'cput' /* Native CPU type */
- /* Motorola Architecture */
- gestaltCPU68000 = 1,
- gestaltCPU68010 = 2,
- gestaltCPU68020 = 3,
- gestaltCPU68030 = 4,
- gestaltCPU68040 = 5,
- /* PowerPC Architecture */
- gestaltCPU601 = 0x101,
- gestaltCPU603 = 0x103,
- gestaltCPU604 = 0x104, /* same for 604e ? */
- gestaltCPU603e = 0x106, /* &AS22 */
-
- /* PowerPC Architecture (Unreleased & Rumoured) */
- gestaltCPU604e? = ???,
- gestaltCPU613? = ???,
- gestaltCPU614? = ???,
- gestaltCPU615? = ???,
- gestaltCPU620? = ???,
- gestaltCPU630? = ???};
-
- NOTE:
- The 'cput' selector is available on all Macs running System 7.5 or
- later and sometimes with System 7.1. If not available, use 'proc'
- selector. &AS22
-
- According to Universal Interfaces 3.0d3 Gestalt.h header file the
- Quadra 660AV and Quadra840AV always return 5 because of a ROM bug. But
- since they have a M68040, 5 is the correct value? Or after an PPC
- upgrade these two machines still return 5?
- System 7.5 fixes this problem. &AS22
-
- The GestaltEqu.h file published with E.T.O. #12 was replaced by the
- one on E.T.O. #13. However there was made a mistake, it lists the 68K
- values in the range 0-4 while it should be 1-5 as listed above.
- This problem is acknowledged by Apple.
- You can fix this problem by using the declarations listed above or by
- using the GestaltEqu.h file from E.T.O. #13 but then test first the
- gestaltSysArchitecture ('sysa') selector and when it reports a 68K
- machine use gestaltProcessorType.
- However, System 7.5 and later were apperantly created using the
- incorrect header file and return the incorrect values.
- Example: 'cput' returns 3 and 'proc' returns 4.
- (Anonymous, Dave Radcliffe, Roland Mansson, Rene Ros)
-
- To check whether the native system architecture is a MC680x0 or a
- PowerPC use the gestaltSysArchitecture ('sysa') selector. See for
- more information on the 68K processors the gestaltProcessorType
- ('proc') selector.
-
- crm (System [7.0])
- gestaltCRMAttr
- Returns information about the Communications Resource Manager.
-
- enum {
- #define gestaltCRMAttr 'crm ' /* Comm. Resource Mgr attributes */
- gestaltCRMPresent = 0, /* Comm. Resource Mgr present */
- gestaltCRMPersistentFix = 1, /* fix for persistent tools &AS02 */
- gestaltCRMToolRsrcCalls = 2}; /* has CRMGetToolResource/ */
- /* ReleaseToolResource &AS02 */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- csvr (Control Strip cp [1.0])
- gestaltControlStripVersion
- Returns the version of Control Strip software that is installed as
- NumVersion.
-
- #define gestaltControlStripVersion 'csvr'
-
- WARNING:
- Control Strip 1.0 used to install the 'sdvr' selector (which is used
- by PowerTalk) instead of this selector to return the version. This is
- corrected when the gestaltControlStripAttr ('sdev') selector has bit
- gestaltControlStripVersionFixed set (Control Strip 1.1 and later).
- &AS11/AT08 (Rene Ros)
-
- ctbm (System [???])
- gestaltCTBManagersAttr &S02
- Returns information about the Communications Toolbox Managers, it is a
- bitmask of which managers are present.
-
- #define gestaltCTBManagersAttr 'ctbm' /* Comm. Mgrs attributes */
-
- NOTE:
- Never installed by any known system version. Never planned for any
- previous or future system version. (Alex Rosenberg)
-
- ctbu (System [7.0])
- gestaltCTBUtilsAttr &S02
- Returns information about the Communications Toolbox Utilities.
-
- enum {
- #define gestaltCTBUtilsAttr 'ctbu' /* Comm. TB Utils attr. */
- gestaltCTBUtilsPresent = 0};
-
- NOTE:
- Not installed by Communications Toolbox for System 6 and not observed
- with any other system software version.
-
- ctbv (System [7.0])
- gestaltCTBVersion
- Returns the version number of the Communications Toolbox as BCD.
-
- #define gestaltCTBVersion 'ctbv' /* Comm. Toolbox version */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- With the Power Macintosh the Communication Toolbox returned a Gestalt
- value indicating version 1.1 while the ROM actually had version 1.0.
- This is fixed by the PowerPC Enabler 1.0.1. and the PowerPC Upgrade
- Card Enabler 1.0.1. because they install CTB 1.1. &AT06
- As of System 7.1, the version of the CTB should track the System
- version. The PowerMac ROMs handled this incorrectly and System 7.5
- rectifies this by reporting 7.5.0. (Alex Rosenberg)
-
- danm (System [Copland?])
- gestaltDesktopAnimationMgr &AD21
- Returns information about the Desktop Animation Manager (DAM).
-
- enum {
- #define gestaltDesktopAnimationMgr 'danm'
- gestaltDesktopAnimationMgrPresent = 0}; /* if set, DAM is present */
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- dbac (System [7.0])
- gestaltDBAccessMgrAttr
- Returns information about the Data Access Manager.
-
- enum {
- #define gestaltDBAccessMgrAttr 'dbac' /* Data Access Mgr attributes */
- gestaltDBAccessMgrPresent = 0}; /* TRUE if Data Access Mgr present */
-
- dfnd (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPFindVersion
- Returns the SDP Find version as INTEGER. Returns zero if not present
- and available.
-
- #define gestaltSDPFindVersion 'dfnd' /* SDP Find version */
-
- dict (System [7.1])
- gestaltDictionaryMgrAttr
- Returns information about the Dictionary Manager.
-
- enum {
- #define gestaltDictionaryMgrAttr 'dict' /* Dictionary Mgr attributes */
- gestaltDictionaryMgrPresent = 0};
-
- ditl (System [7.0])
- gestaltDITLExtAttr
- Returns information about the Dialog Manager.
-
- enum {
- gestaltDITLExtAttr 'ditl' /* Dialog Mgr attributes */
- gestaltDITLExtPresent = 0}; /* Dialog Mgr extensions present */
-
- dplv (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrVers &AS05
- Returns Display Manager version as Double BCD.
-
- #define gestaltDisplayMgrVers 'dplv' /* Display Mgr version */
-
- NOTE:
- Version 1 returned the version as INTEGER, version 2 returns it as
- Double BCD. (Jean-Pierre Curcio)
-
- dply (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrAttr &AS05
- Returns information about the Display Manager.
-
- enum {
- #define gestaltDisplayMgrAttr 'dply' /* Display Mgr attr. */
- gestaltDisplayMgrPresent = 0, /* True if Display Mgr is */
- /* present */
- gestalt??? = 1, /* seen with System 7.5.2 */
- gestaltDisplayMgrCanSwitchMirrored = 2, /* True if Display Mgr can */
- /* switch modes on mirrored*/
- /* displays &AD21 */
- gestaltDisplayMgrSetDepthNotifies = 3}; /* True, SetDepth generates*/
- /* Display Mgr */
- /* notification &AD21 */
-
- drag (Macintosh Drag and Drop ext [1.0])
- (System? [7.5?])
- gestaltDragMgrAttr &AD05
- Returns information about the Drag Manager.
-
- enum {
- #define gestaltDragMgrAttr 'drag' /* Drag Manager attributes */
- gestaltDragMgrPresent = 0, /* Drag Manager is present */
- gestaltDragMgrFloatingWind = 1, /* &AS09 */
- gestaltPPCDragLibPresent = 2, /* &AS09 */
- gestaltDragMgrHasImageSupport = 3, /* SetDragImage function */
- /* present to drag semi- */
- /* transparant images */
- /* instead of outlines */
- /* (Anonymous) &AT14 */
- gestaltDragMgr??? = 31}; /* set with System 7.5 */
-
- dsig (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltDigitalSignatureVersion
- Returns version of the Digital Signature toolbox as BCD.
-
- #define gestaltDigitalSignatureVersion 'dsig' /* Digitial Signature */
- /* version */
-
- eajt (Easy Access cp [7.0])
- gestaltEasyAccessJTable
- Returns the base address of the Easy Access jump-trap table.
-
- #define gestaltEasyAccessJTable 'eajt' /* Easy Access jump-trap */
- /* table &M01 */
-
- NOTE:
- The first time you call this selector Easy Access tries to open a
- resource file to find the value, which at least causes a freeze when
- called from within MacBugs with the Gestalt dcmd. &AD31
-
- easy (Easy Access cp [6.0.4?])
- gestaltEasyAccessAttr
- Returns information about the status of Easy Access.
-
- enum {
- gestaltEasyAccessAttr 'easy' /* Easy Access attributes */
- gestaltEasyAccessOff = 0, /* Easy Access present but off */
- gestaltEasyAccessOn = 1, /* Easy Access on */
- gestaltEasyAccessSticky = 2, /* Easy Access "Sticky" */
- gestaltEasyAccessLocked = 3}; /* Easy Access "Locked" */
-
- NOTE:
- The values listed above are not returned with System 7 and later.
- Because of a bug different values are returned. This problem is
- acknowledged by Apple, but it is unclear when it will be fixed. They
- know about it since September 1992... (Rene Ros)
-
- edtn (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltEditionMgrAttr
- Returns information about the Edition Manager.
-
- enum{
- #define gestaltEditionMgrAttr 'edtn' /* Edition Mgr attributes */
- gestaltEditionMgrPresent = 0,
- gestaltEditionMgrTranslationAware = 1}; /* &AD03 */
-
- evnt (System [7.0]) &AS05
- (Apple Event Manager ext [1.0.1], part of AppleScript Setup)
- gestaltAppleEventsAttr
- Returns information about Apple Events.
-
- enum {
- #define gestaltAppleEventsAttr 'evnt' /* Apple events attributes */
- gestaltAppleEventsPresent = 0, /* True if Apple Events present */
- /* &AS05 */
- gestaltScriptingSupport = 1,
- gestaltOSLInSystem = 2}; /* OSL is in system so don`t use */
- /* the one linked */
-
- NOTE:
- These declarations in the AEObjects.h file (on ETO 14) should be
- ignored:
- gestaltObjectSupportLibraryInSystem = 1
- gestaltObjectSupportLibraryPowerPCSupport = 2
-
- Apple System Software (F-K)
- ===========================
- This chapter lists selector codes of which the meaning is documented and
- the first character of the selector code is in the F-J range.
-
- flag (Network Extension ext [System 7.0 &AT02])
- gestaltFlagshipAttr
- Returns information about the Flagship Naming Services.
-
- enum {
- #define gestaltFlagshipAttr 'flag' /* &M01 */
- gestaltFlagshipPresent = 0, /* &M01 */
- gestaltFlagshipRegistered = 1}; /* &M01 */
-
- fnd (AppleShare? ext [3.6?]) &AD18
- gestaltFinderVolumeGrade?
- Returns a volume grade value. If the volume grade of a (remote) volume
- the Finder (version 7.5.1 and later) is copying to is less than the
- returned value, a buffer is used for which the size is returned by the
- 'fnd^' (666E 64A4) selector.
-
- #define gestaltFinderVolumeGrade? 'fnd '
-
- NOTE:
- See also the 'fnd^' (666E 64A4) selector entry.
-
- AppleShare 3.6 (part of System 7.5 Update 2.0) seems to install two
- other selectors instead. The 'fnd ' selector seems to be replaced by
- (OSType) 0x666E 64A0 (last byte: option-t). (Anonymous)
-
- fnd^ (AppleShare? ext [3.6?]) &AD18
- gestaltFinderBufferSize? (666E 64A4)
- Returns the size of the buffer used to copy files to a (remote) volume
- with a volume grade value less then the value returned by the 'fnd '
- selector.
-
- #define gestaltFinderBufferSize? 'fnd^'
-
- NOTES:
- The ^ is actually the option-6 character (0xA4).
-
- See also the 'fnd ' selector entry.
-
- AppleShare 3.6 (part of System 7.5 Update 2.0) seems to install two
- other selectors instead. The 'fnd ' selector seems to be replaced by
- (OSType) 0x666E 64A7 (last byte: option-s). (Anonymous)
-
- fndr (Finder [7.1.1]) &AS04
- (Finder Scripting Extension ext [1.2?])
- (Finder Clipping Extension ext [7.1.4?])
- gestaltFinderAttr
- Returns information about the Finder.
-
- enum {
- #define gestaltFinderAttr 'fndr'
- gestaltFinderDropEvent = 0,
- gestaltFinderMagicPlacement = 1,
- gestaltFinderCallsAEProcess = 2,
- gestaltOSLCompliantFinder = 3, /* supports Finder Event Suite */
- gestaltFinderSupports4GBVolumes = 4, /* implemented by System 7.5.1 */
- /* but bit not set? */
- gestaltFinderHandlesCFMFailures = 5,
- gestaltFinderHasClippings = 6}; /* &AD12 */
-
- fold (System [7.0])
- gestaltFindFolderAttr
- Returns information about the FindFolder function.
-
- enum {
- gestaltFindFolderAttr 'fold' /* FindFolder attributes */
- gestaltFindFolderPresent = 0}; /* FindFolder function available */
-
- font (System [7.0])
- (TrueType INIT ext for System 6)
- gestaltFontMgrAttr
- Returns information about the Font Manager.
-
- enum {
- #define gestaltFontMgrAttr 'font' /* Font Mgr attributes */
- gestaltOutlineFonts = 0, /* TrueType present */
- gestaltFontMgr??? = 1, /* set with System 7.1 & 7.5 */
- gestaltDiskCachedFonts? = 2}; /* Disk Cached Fonts available? */
-
- NOTE:
- Inside the Inline Extension 1.0 with KanjiTalk7, which was compiled
- with full subroutine names, there is a subroutine called
- 'DiskCachedFontsAvailable' in an INIT resource which checks bit 2
- of the gestaltFontMgrAttr selector response. (Marco Piovanelli)
-
- fpu (System [6.0.4])
- gestaltFPUType
- Returns a value that indicates the FPU-type, if any.
-
- enum {
- gestaltFPUType 'fpu ' /* FPU Type */
- gestaltNoFPU = 0, /* no FPU */
- gestalt68881 = 1, /* 68881 FPU */
- gestalt68882 = 2, /* 68882 FPU */
- gestalt68040FPU = 3}; /* built-in 68040 FPU &S01 */
-
- NOTE: See also the 'FPUE' entry in the Third Parties chapter.
-
- fs (720K Floppy Disk Formatter ext [1.0a3?],
- part of the Hardware System Update [2.0])
- (Apple Share ext [AS 3.0/SYS 7.0])
- (File System Manager ext [1.2])
- (System [7.0])
- gestaltFSAttr
- Returns information about the file system.
-
- enum {
- #define gestaltFSAttr 'fs ' /* file-system attributes */
- gestaltFullExtFSDispatching = 0, /* exports HFSDispatch traps */
- gestaltHasFSSpecCalls = 1, /* supports FSSpec records */
- gestaltHasFileSystemManager = 2, /* has the File System Manager */
- /* &S01 */
- gestaltFSMDoesDynamicLoad = 3, /* FSM supports dynamic loads */
- /* &AD12 */
- gestaltFSSupports4GBVols = 4, /* FS supports 4 gigabyte volumes */
- /* &AD14 */
- gestaltFSSupports2TBVols = 5, /* FS supports 2 terabyte volumes */
- /* and PBXGetVInfo available */
- /* &AD14 */
- gestaltHasExtendedDiskInit = 6}; /* has extended Disk */
- /* Initialization calls &AD12 */
-
- NOTES:
- See also the gestaltFSMVersion ('fsm ') selector.
-
- See 'Reports' chapter (QuickTime section) for more information.
-
- fsm (File System Manager ext [1.2])
- gestaltFSMVersion &AD14
- Returns File System Manager version as BCD.
-
- #define gestaltFSMVersion 'fsm '
-
- NOTE:
- See also the gestaltFSAttr ('fs ') selector.
-
- While both FSM 1.2 and System 7.5 install/patch three traps
- (_FileSysMgr, _HFSUtils and _Pack2 (Extended Disk Initialization
- Package)) it happens that System 7.5 does not install the
- gestaltFSMVersion ('fsm ') selector. It does set the FSM related bits
- of the gestaltFSAttr ('fs ') selector. (Fabrizio Oddone)
- This selector is installed correctly by System 7.5.1. (Rene Ros)
-
- fxfr (System [7.0])
- gestaltFXfrMgrAttr
- Returns information about the File Transfer Manager.
-
- enum {
- #define gestaltFXfrMgrAttr 'fxfr' /* File Transfer Mgr attributes */
- gestaltFXfrMgrPresent = 0, /* File Transfer Mgr present */
- gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
- /* &AS02 */
- gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
- /* &AS02/S02 */
- gestaltFXfrMgr??? = 3?}; /* new, see future technote */
- /* set with System 7.5 */
-
- gval (GestaltValue glue code)
- gestaltValueTable?
- Returns a pointer to a table with the selectors and values managed
- by the GestaltValue code. (Marco Piovanelli)
-
- #define gestaltValueTable? 'gval'
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct.
-
- NOTES:
- Although System 7.5 implements the GestaltValue functions it does not
- install this selector because the GestaltValue table is combined with
- the normal Gestalt table (See the 'tabl' entry). Only with system
- software before 7.5 this selector is installed by the glue code.
- (Rene Ros)
-
- See 'Reports' chapter (GestaltValue section) for more information.
-
- hdwr (System [6.0.4]) INF
- gestaltHardwareAttr
- Returns information about the hardware configuration of the machine.
-
- enum {
- #define gestaltHardwareAttr 'hdwr' /* hardware attributes */
- gestaltHasVIA1 = 0, /* VIA 1 */
- gestaltHasVIA2 = 1, /* VIA 2 */
- gestaltHasRBV = 2, /* RBV &M01 */
- gestaltHasASC = 3, /* ASC (or compatible with) */
- gestaltHasSCC = 4, /* SCC &M01 */
- gestaltHasOSS = 5, /* OSS &M01 */
- gestaltHasSCSIDMA = 6, /* 53C80 SCSI DMA &M01 */
- gestaltHasSCSI = 7, /* 53C80 SCSI */
- gestaltHasSWIMIOP = 8, /* SWIM IOP &M01 */
- gestaltHasSCCIOP = 9, /* SCC IOP &M01 */
- gestaltHasFitch = 10, /* Fitch memory Controller &M02 */
- gestaltHasIWM = 11, /* IWM &M01 */
- gestaltHasPWM = 12, /* PWM disk speed buffer &M02 */
- gestaltHasRAMSndBuff = 13, /* RAM-based sound buffer &M02 */
- gestaltHasVideoDAConv = 14, /* Video D/A Converter &M02 */
- gestaltHasPGC = 15, /* PGC (parity control) &M02 */
- gestaltHasRPU? = 16, /* Random Parity Unit */
- gestaltHasOMC? = 17, /* Orwell Memory Controller */
- gestaltHasVISARBV? = 18, /* VISA Ram Based Video */
- gestaltHasSoftPowerOff = 19, /* Software PowerOff */
- /* (since System 7.0?) &S01 */
- gestaltHasSonic = 20, /* Sonic (built-in ethernet) &M01 */
- gestaltHasSCSI961 = 21, /* Int. 53C96 SCSI &AT01 */
- gestaltHasSCSI962 = 22, /* Ext. 53C96 SCSI &AT01 */
- gestaltHasDAFBVideo = 23, /* DAFB Video &M01 */
- gestaltHasUniversalROM = 24, /* Universal ROM &AT04 */
- gestaltHasJMC = 25, /* Jaws Memory Controller? */
- gestaltNeedsRESET = 26, /* ??? set on PowerMac, C660AV and */
- /* under MAE 1.0 */
- gestalt??? = 27, /* ??? set on PM 7500/100 with */
- /* System 7.5.3 */
- gestaltHasEnhancedLtalk= 30}; /* Enhanced LocalTalk &AD21 */
-
- NOTES:
- See for additional information the TN "M.OV.GestaltSysenvirons" (OV 16).
-
- On the Mac IIfx and Quadra 900 the gestaltHasSCC bit always returns 0
- because the SCC is isolated by I/O processors. When the Compatibility
- Switch control panel is used the bit is set. &AD12
-
- The old IM VI listed this selector as an environmental selector but
- IM OS Utilities now lists it as an informational selector.
-
- help (System [7.0])
- gestaltHelpMgrAttr
- Returns information about the Help Manager.
-
- enum {
- #define gestaltHelpMgrAttr 'help' /* Help Mgr attributes */
- gestaltHelpMgrPresent = 0, /* Help Mgr present */
- gestaltHelpMgrExtensions = 1, /* Help Mgr extensions installed */
- /* &AS03 */
- gestaltAppleGuideIsDebug = 30, /* Apple Guide is debugging version */
- /* &AS12 */
- gestaltAppleGuidePresent = 31}; /* Apple Guide is available &AS12 */
-
- hrad (System? [7.5.3?])
- (System 7.5 Update enbl [2.0])
- gestaltHardwareVendorCode &AS22
- Returns hardware vendor information.
-
- #define gestaltHardwareVendorCode 'hrad'
- #define gestaltHardwareVendorApple 'Appl' /* Hardware built by Apple*/
-
- NOTE:
- System 7.5.3 on a PowerCurve 601/120 does not install this selector
- nor 'srad'.
- (Mark Schrier)
-
- See also the 'srad' selector in this section.
-
- hscd (High Sierra File Access ext [5.0], part of Apple CD-ROM Software)
- (ISO 9660 File Access ext [1.0-4.0], part of Apple CD-ROM Software)
- gestaltHighSierraVersion? &AT03
- Returns High Sierra File Access version in BCD.
-
- #define gestaltHighSierraVersion? 'hscd' /* High Sierra Fileaccess */
- /* version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- icmp (QuickTime ext [1.0])
- gestaltCompressionMgr
- Returns Compression Manager version as Integer.
-
- #define gestaltCompressionMgr 'icmp' /* determines if Image */
- /* Compression manager is */
- /* available &AS01 */
-
- icon (System 7.5 Update ext [1.0])
- gestaltIconUtilities
- Returns information about the Icon Utilities routines.
-
- enum {
- #define gestaltIconUtilities 'icon' /* Icon Utils attributes */
- gestaltIconUtilitiesPresent = 0};
-
- NOTE:
- This selector is supposed to be implemented since System 7.1.2. You
- need to determine if the _IconDispatch A-trap (0xAB49) is available
- instead since the Icon Utilities are actually available since
- System 7.0. &AD13/AT01
- System 7.5.1 finally implements this selector. (Anonymous)
-
- iic (System? [7.5?])
- gestaltIICAttr &AS19
- Returns information about the Inter-Integrated Circuit Bus (IIC).
-
- enum {
- #define gestaltIICAttr 'iic ' /* Inter-Integrated Circuit Bus */
- gestaltStdIIC = 0, /* standard IIC */
- gestaltCombinedIIC = 1, /* combined format IIC */
- gestaltExtendedIIC = 2, /* extended IIC */
- gestaltMultiIIC = 3, /* multiple bus master IIC */
- gestaltGeneralCallIIC = 4, /* general call IIC */
- gestaltFastIIC = 5}; /* fast IIC */
-
- intd (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System 7.5 Update [1.0?])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltInternalDiskAttr?
- Returns information about the internal harddisk of portable
- computers?
-
- enum {
- #define gestaltInternalDiskAttr? 'intd' /* PB Internal HD attr. */
- gestaltHasInternalDisk? = 0, /* TRUE if machine has internal HD */
- gestaltDiskSleeping? = 1, /* TRUE if internal HD is spon down */
- gestalt??? = 24}; /* unknown, set on PB180, PB210, */
- /* PB540 and others? */
-
- WARNING:
- This information is from a reliable source. However, is it not
- officially confirmed by Apple and there are no constants defined.
-
- NOTE:
- On a PB Duo 210 (PowerBook Duo Enabler) I haven't seen bit 1 set with
- System 7.1, even when the disk is spinning. It is also reported the
- bit is clear when the disk is spinning and set when down (seen on
- PB Duo 230). (David Lewis, Rene Ros)
- This problem seems to be fixed with System 7.5.1 and later but with
- bit 1 having the reversed meaning than originally thought: disk spon
- down. (Rene Ros)
-
- iscd (ISO 9660 File Access ext [5.0], part of Apple CD-ROM Software)
- gestaltISO9660Version?
- Returns ISO 9660 File Access version in BCD?
-
- #define gestaltISO9660Version? 'iscd'
-
- NOTE:
- Versions before 5.0 installed the 'hscd' selector.
-
- kbd (System [6.0.4])
- gestaltKeyboardType
- Returns a value that indicates the type of keyboard on which the last
- keystroke was seen.
-
- enum {
- #define gestaltKeyboardType 'kbd ' /* keyboard type */
- gestaltMacKbd = 1, /* Macintosh Keyboard */
- gestaltMacAndPad = 2, /* Macintosh Keyboard with Pad */
- gestaltMacPlusKbd = 3, /* Macintosh Plus Keyboard */
- gestaltExtADBKbd = 4, /* Extended ADB Keyboard */
- gestaltStdADBKbd = 5, /* Standard ADB Keyboard */
- gestaltPrtblADBKbd = 6, /* Portable ADB Keyboard */
- gestaltPrtblISOKbd = 7, /* Portable ISO ADB Keyboard */
- gestaltStdISOADBKbd = 8, /* Standard ISO ADB Keyboard */
- gestaltExtISOADBKbd = 9, /* Extended ISO ADB Keyboard */
- gestaltADBKbdII = 10, /* ADB Keyboard II */
- gestaltElmerKbd = 10, /* = gestaltADBKbdII, used in some */
- /* sample code */
- gestaltADBISOKbdII = 11, /* ISO ADB Keyboard II */
- gestaltElmerISOKbd = 11, /* = gestaltADBISOKbdII, used in */
- /* some sample code */
- gestaltPwrBookADBKbd = 12, /* PowerBook Keyboard &AT01 */
- gestaltPwrBookISOADBKbd = 13, /* PowerBook Keyboard (ISO) &AT01 */
- gestaltAppleAdjustKeypad = 14, /* Apple Adjustable Keypad &AT01 */
- gestaltAppleAdjustADBKbd = 15, /* US Adjustable Keyboard &AS21 */
- gestaltAppleAdjustISOKbd = 16, /* ISO Adjustable Keyboard &AS21 */
- gestaltJapanAdjustADBKbd = 17, /* Japan Adjustable Keyboard &AS21 */
-
- /* PowerBook Extended Keyboards &AS15 */
- gestaltPwrBkExtISOKbd = 20, /* PowerBook Extended Intl. */
- gestaltPwrBkExtJISKbd = 21, /* PowerBook Extended Japanese */
- gestaltPwrBkExtADBKbd = 24}; /* PowerBook Extended Domestic */
-
- ======================================================================
- Combinations of System Global KbdType/ADB Mgr devType and
- gestaltKeyboardType values &AT01
- ======================================================================
- KbdType gestaltKeyboardType Gestalt Name
- (hex.) (decimal)
- ----------------------------------------------------------------------
- 0x03 1 gestaltMacKbd
- 0x13 2 gestaltMacAndPad
- 0x0B 3 gestaltMacPlusKbd
- 0x02 4 gestaltExtADBKbd
- 0x01 5 gestaltStdADBKbd
- 0x06 6 gestaltPrtblADBKbd
- 0x07 7 gestaltPrtblISOKbd
- 0x04 8 gestaltStdISOADBKbd
- 0x05 9 gestaltExtISOADBKbd
- 0x08 10 gestaltADBKbdII
- 0x09 11 gestaltADBISOKbdII
- 0x0C 12 gestaltPwrBookADBKbd
- 0x0D 13 gestaltPwrBookISOADBKbd
- 0x0E 14 gestaltAppleAdjustKeypad
- 0x10 15 gestaltAppleAdjustADBKbd, US
- 0x11 16 gestaltAppleAdjustADBKbd, ISO
- 0x12 17 gestaltAppleAdjustADBKbd, Japanese
- 0x13 20 gestaltPwrBkExtISOKbd ?
- 0x14 21 gestaltPwrBkExtJISKbd ?
- 0x17 24 gestaltPwrBkExtADBKbd ?
- ----------------------------------------------------------------------
-
- NOTES:
- The Apple Adjustable Keyboard doesn't have its own Gestalt keyboard
- type defined with some versions of System Software (7.1?). It changes
- a low memory global but this doesn't change the Gestalt response. This
- problem is corrected by the Hardware System Update 2.0 and later.
- An Adjustable Keyboard attached to a Performa 6300 (System 7.5.1)
- causes value 16, an unknown keyboard, to be returned.
-
- If the keyboard isn't recognized by the Gestalt Mgr, an error is
- returned. &AD19
-
- The PowerMac 7100/66 (System 7.1.2) doesn't install this selector for
- some reason. Other Macs with Gestalt version 4 do, so it isn't
- intentional.
-
- You may find a Gestalt header file which lists the Extended ADB
- keyboard as three different types (Domestic, International and
- Japanese) instead of one as later was corrected by Apple in a
- Technical Note. Even the Gestalt header file for ETO #18 lists the
- old (?) info, but should I start doubting about the correctness of the
- Technical Note?
- The KbdType numbers for the PowerBook Extended Keyboards were found
- with the PTCH 5 resource of the Hardware System Update 2.0.
- (Rene Ros)
-
- Since this selector returns the type of the keyboard last touched
- and because there can be more than one keyboard, MacDTS considers this
- selector to be obsolete. You should use GetADBInfo instead and check
- the orgADBAddr field for a keyboard (0x02) and the devType field
- contains the keyboard device type. It uses the same values as the
- KbdType low memory variable, see the table above. &AD07/AT01
-
- kpcd (Apple Photo Access ext [1.0], part of Apple CD-ROM Software) &AT03
- gestaltApplePhotoAccessVersion?
- Returns Apple Phote Access version in BCD.
-
- #define gestaltApplePhotoAccessVersion? 'kpcd'
-
- NOTE:
- The above is what the documentation says. However it seems to return
- always 0xFFFFFF7 as response.
-
- Apple System Software (L-N)
- ===========================
- This chapter lists selector codes of which the meaning is documented and
- the first character of the selector code is in the K-N range.
-
- lmem (System [6.0.4])
- gestaltLowMemorySize
- Returns the amount of the low-memory area in bytes.
-
- #define gestaltLowMemorySize 'lmem' /* low-memory area size */
-
- lram (System [6.0.4])
- gestaltLogicalRAMSize
- Returns the amount of logical memory available in bytes.
-
- #define gestaltLogicalRAMSize 'lram' /* logical RAM size */
-
- NOTE:
- The returned value may not be accurate because an adjustment to the
- number is performed to yield the best possible estimate of the
- remaining RAM. The discrepancy is usually because of different color
- depth settings for on-board video and because of the NanoKernel
- (68K emulator on Power Macintosh computers). The latter takes about
- 870K. &AD18
-
- mach (System [6.0.4]) INF
- gestaltMachineType
- Returns one of the following values, indicating the type of
- machine.
-
- enum {
- #define gestaltMachineType 'mach' /* machine type */
-
- gestaltClassic = 1, /* Macintosh 128K and 512 */
- gestaltMacXL = 2,
- gestaltMac512KE = 3,
- gestaltMacPlus = 4,
- gestaltMacSE = 5,
- gestaltMacII = 6,
- gestaltMacIIx = 7,
- gestaltMacIIcx = 8,
- gestaltMacSE030 = 9, /* Macintosh SE/30 */
- gestaltPortable = 10,
- gestaltMacPortable = gestaltPortable,
- gestaltMacIIci = 11,
- gestaltPowerMac8100_120 = 12, /* Observed but not released */
- gestaltMacIIfx = 13,
- gestaltMacClassic = 17,
- gestaltMacIIsi = 18,
- gestaltMacLC = 19,
- gestaltQuadra900 = 20,
- gestaltPowerBook170 = 21,
- gestaltQuadra700 = 22,
- gestaltClassicII = 23,
- gestaltPowerBook100 = 24,
- gestaltPowerBook140 = 25,
- gestaltQuadra950 = 26,
- gestaltMacLCIII = 27,
- gestaltPerforma450 = gestaltMacLCIII,
- gestaltPowerBookDuo210 = 29,
- gestaltPowerBook210 = gestaltPowerBookDuo210,
- gestaltPowerBook230 = gestaltPowerBookDuo230,
- gestaltMacCentris650 = 30,
- gestaltPaulaMac? = 31, /* "Paula's Desk Macintosh" in
- PowerPC Enabler 1.1 */
- gestaltPowerBookDuo230 = 32,
- gestaltPowerBook180 = 33,
- gestaltPowerBook160 = 34,
- gestaltMacQuadra800 = 35,
- gestaltMacQuadra650 = 36,
- gestaltMacLCII = 37,
- gestaltPerforma40x = gestaltMacLCII,
- gestaltPerforma430 = gestaltMacLCII,
- gestaltPowerBookDuo250 = 38,
- gestaltPowerMac9150 = 39,
- gestaltAWS9150_80 = gestaltPowerMac9150,
- /* Workgroup Server 9150/80
- &AD18 */
- gestaltPowerMac8100_110 = 40,
- /* Also Power Macintosh 8115/110
- &AD18 */
- gestaltAWS8150_110 = gestaltPowerMac8100_110,
- /* Workgroup Server 8150/110
- &AS20 */
- gestaltPowerMac5200 = 41,
- /* Also Power Macintosh 5300
- &AS21 */
- gestaltPowerMac5200_75 = gestaltPowerMac5200,
- gestaltPowerMac6200 = 42,
- gestalt??? = 43, /* Pre-release Tempest/Cyclone */
- gestaltMacIIvi = 44,
- gestaltMacIIvm = 45,
- gestaltPerforma600 = gestaltMacIIvm,
- gestaltPowerMac6100_66? = 46, /* From not to be released ROM
- image. If you observe this
- value, it's a prerelease
- system. */
- gestaltPowerMac7100_80 = 47,
- gestaltMacIIvx = 48,
- gestaltMacColorClassic = 49,
- gestaltPerforma250 = gestaltMacColorClassic,
- gestaltPowerBook165c = 50,
- gestalt??? = 51, /* Seen in System 7.5 Update 2.0
- files. */
- gestaltMacCentris610 = 52,
- gestaltMacQuadra610 = 53,
- gestaltPowerBook145 = 54, /* Also Macintosh PowerBook 145b
- &AT01 */
- gestaltPowerMac8100_100 = 55,
- gestaltMacLC520 = 56,
- gestaltAWS9150_120 = 57, /* Workgroup Server 9150/120
- &AD23 */
- gestalt??? = 58, /* Codenamed Elixer */
- gestalt??? = 59, /* Seen in System 7.5 Update 1.0
- files. */
- gestaltMacCentris660AV = 60,
- gestaltPowerMac8100_60? = 61, /* Power Macintosh 8100/80
- running at 60 MHz */
- gestaltPerforma46x = 62,
- gestaltPerforma460 = gestaltPerforma46x,
- gestalt??? = 63, /* Seen in System 7.5 Update 2.0
- files. */
- gestaltPowerMac8100_60? = 64, /* Power Macintosh 8100/60 & 80
- running at 66.6 MHz */
- gestaltPowerMac8100_80 = 65,
- /* Workgroup Server 8150/80 &AS20 */
- gestaltPowerMac8100_100? = 66, /* From not to be released ROM
- image. If you observe this
- value, it's a prerelease
- system. */
- gestaltPowerMac9500 = 67,
- gestaltPowerMac7500 = 68, /* Also Power Macintosh
- 7600/120 */
- gestaltPowerMac8500 = 69,
- gestaltPowerBook180c = 71,
- gestaltPowerBook520 = 72, /* Use MaximumProcessorSpeed
- call: 25 mHz for 520 and 33
- mHz for 540 models &AS21 */
- gestaltPowerBook520c = gestaltPowerBook520,
- gestaltPowerBook540 = gestaltPowerBook520,
- gestaltPowerBook540c = gestaltPowerBook520,
- gestaltPowerBook500 = gestaltPowerBook520,
- /* Macintosh PowerBook 500 series
- including Macintosh PowerBook
- 550c &AT01 */
- gestaltPowerBook520_540 = gestaltPowerBook520,
- gestalt??? = 73, /* Seen in System 7.5 Update 1.0
- files. */
- gestaltPowerMac5400 = 74, /* Earlier used for pre-release
- Power Mac named 'PDM Evt 1
- (R.I.P.)' */
- gestaltPowerMac6100_60 = 75,
- gestaltAWS6150_60 = gestaltPowerMac6100_60,
- /* Workgroup Server 6150/60
- &AS20 */
- gestaltPerforma611x = gestaltPowerMac6100_60,
- gestaltPowerBookDuo270c = 77,
- gestaltMacQuadra840AV = 78,
- gestalt??? = 79, /* Seen in System 7.5 Update 2.0
- files. */
- gestaltMacLC550 = 80,
- gestaltPerforma550 = gestaltMacLC550,
- gestaltPerforma560 = gestaltMacLC550,
- gestalt??? = 81, /* Seen in System 7.5 Update 1.0
- files. */
- gestaltMacColorClassicII? = 83,
- gestaltPowerBook165 = 84,
- gestaltPowerBook190 = 85,
- gestaltLC475_20? = 86, /* Q605 as a LC475 at 20 Mhz
- instead of 25 Mhz */
- gestaltLC575_20? = 87, /* LC575 at 20 MHz instead of
- 33 MHz */
- gestaltMacTV = 88,
- gestaltMacLC475 = 89,
- gestaltPerforma47x = gestaltMacLC475,
- gestaltLC475_33? = 90, /* Q605 as a LC475 at 33 Mhz
- instead of 25 Mhz */
- gestaltLC575_25? = 91, /* LC575 at 25 MHz instead of
- 33 MHz */
- gestaltMacLC575 = 92,
- gestaltPerforma57x = gestaltMacLC575,
- gestaltQ605_20? = 93, /* Q605 at 20 Mhz instead of
- 25 MHz */
- gestaltMacQuadra605 = 94,
- gestaltQ605_33? = 95, /* Q605 at 33 Mhz instead of
- 25 MHz */
- gestalt??? = 96, /* Seen in System 7.5 Update 2.0
- files. */
- gestaltQuadra630 = 98,
- gestaltMac630 = gestaltQuadra630,
- gestaltMacLC630 = gestaltQuadra630,
- /* has MC68LC040 but can upgrade
- to Quadra 630 &AT01 */
- gestaltMacQuadra630 = gestaltQuadra630,
- /* has MC68040 but can upgrade
- &AT01 */
- gestaltTellShow = gestaltQuadra630,
- /* Codename for LC630 ? &AD16 */
- gestaltMacLC580 = 99,
- gestaltPerforma580 = gestaltMacLC580,
- gestaltTellXfmr = gestaltMacLC580,
- /* Codename for LC580 ? &AD16 */
- gestaltPowerMac6100_66 = 100,
- gestaltAWS6150_66 = gestaltPowerMac6100_66,
- /* Workgroup Server 6150/66
- &AS20 */
- gestaltPowerMac6100_80? = 101, /* Not released */
- gestaltPowerBookDuo280 = 102,
- gestaltPowerBookDuo280c = 103,
- gestaltPowerMac475 = 104, /* LC 475 and Q 605 PowerPC
- Upgrade Card &AD18 */
- gestaltPowerMacLC475 = gestaltPowerMac475,
- /* LC 475 and Q 605 PowerPC
- Upgrade Card &AT01 */
- gestaltPowerMacPerforma47x = gestaltPowerMac475,
- /* Performa 47x PowerPC Upgrade
- Card &AT01 */
- gestaltPowerMac575 = 105, /* LC 575 and LC 57x PowerPC
- Upgrade Card &AD18 */
- gestaltPowerMacLC575 = gestaltPowerMac575,
- /* LC 575 PowerPC Upgrade Card
- &AT01 */
- gestaltPowerMacPerforma57x = gestaltPowerMac575,
- /* Performa 47x PowerPC Upgrade
- Card &AT01 */
- gestaltPowerMac630 = 106, /* Q630, LC630 and P63x PowerPC
- Upgrade Card &AD18 */
- gestaltPowerMacQuadra630 = gestaltPowerMac630,
- /* Q630 PowerPC Upgrade Card
- &AT01 */
- gestaltPowerMacLC630 = gestaltPowerMac630,
- /* LC630 PowerPC Upgrade Card
- &AT01 */
- gestaltPowerMacPerforma63x = gestaltPowerMac630,
- /* P63x PowerPC Upgrade Card
- &AT01 */
- gestaltPowerMac580 = 107, /* LC580 (and P58x) PowerPC
- Upgrade Card &AD18 */
- gestaltPowerMacLC580 = gestaltPowerMac580,
- gestaltPowerMac7200 = 108, /* also Power Macintosh 8200 */
- gestaltPowerMac7100_60? = 111, /* Not released */
- gestaltPowerMac7100_66 = 112,
- gestaltPowerMac7100_80? = 113, /* From not to be released ROM
- image. If you observe this
- value, it's a prerelease
- system. */
- gestaltPowerMac7100_80b? = 113, /* PM 7100/66 at 80 Mhz value
- <> PM 7100/80 ! */
- gestalt??? = 114, /* Seen in System 7.5 Update 1.0
- files. */
- gestaltPowerMac7100_82? = 114, /* Not released */
- gestaltPowerBook150 = 115,
- gestaltPowerMac700 = 116, /* Q700 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra700 = gestaltPowerMac700,
- gestaltPowerMac900 = 117, /* Q900 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra900 = gestaltPowerMac900,
- gestaltPowerMac950 = 118, /* Q950 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra950 = gestaltPowerMac950,
- gestaltPowerMacC610 = 119, /* C610 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacCentris610 = gestaltPowerMacC610,
- gestaltPowerMacC650 = 120, /* C650 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacCentris650 = gestaltPowerMacC650,
- gestaltPowerMacQ610 = 121, /* Q610 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra610 = gestaltPowerMacQ610,
- gestaltPowerMacQ650 = 122, /* Q650 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra650 = gestaltPowerMacQ650,
- gestaltPowerMac800 = 123, /* Q800 PowerPC Upgrade Card
- &AD18 */
- gestaltPowerMacQuadra800 = gestaltPowerMac800,
- gestaltPowerBookDuo2300 = 124,
- gestaltPPCPowerBook520_540 = 124, /* Macintosh PowerBook 5xx PPC
- Upgrade Card. The PowerBook
- 5300/2300/190 enabler list the
- PB 5xx PPC upgrade as 126!
- &AD28 */
- gestalt??? = 125, /* Seen in MAE Enabler */
- gestaltPowerBook500PPCUpgrade = 126,
- gestaltPowerBook5300 = 128,
- gestaltPowerMacIIci? = 206, /* IIci PPC (observed with
- Daystar Digital 601/66) */
- gestaltPowerMacIIsi? = 207, /* Mac IIsi PowerPC Upgrade card,
- seen in MacsBug 2.5.2 */
- gestaltPowerMacIIvi? = 208, /* Mac IIvi PowerPC Upgrade card,
- seen in MacsBug 2.5.2 */
- gestaltPowerMacIIvx? = 209, /* Mac IIvx PowerPC Upgrade card,
- seen in MacsBug 2.5.2 */
- gestaltPowerMacIIvm? = 210, /* Mac IIvm PowerPC Upgrade card,
- seen in MacsBug 2.5.2 */
- gestaltPowerMacIIfx? = 211, /* Mac IIfx PowerPC Upgrade card,
- seen in MacsBug 2.5.2 */
- gestaltNetworkServer500? = ???, /* Network Server 500/132 */
- gestaltNetworkServer700? = ???, /* Network Server 500/132 */
- gestaltPowerBook550c? = ???,
- gestaltPowerMac7600_120? = ???
- };
-
- NOTES:
- The Power Macintosh computers also set the three low bits of a 32-bit
- register at a specified address to a machine identification code.
-
- ======================================================================
- Power Macintosh register identification codes
- ======================================================================
- Machine Address Register bits Source
- ----------------------------------------------------------------------
- Power Macintosh 5200 ??? ???
- Power Macintosh 6100 0x5FFF FFFC 000
- Power Macintosh 7100 0x5FFF FFFC 010
- Power Macintosh 7200 ??? ???
- Power Macintosh 7500 ??? ???
- Power Macintosh 7600 ??? ???
- Power Macintosh 8100 0x5FFF FFFC 011
- Power Macintosh 8200 ??? ???
- Power Macintosh 8500 ??? ???
- Power Macintosh 9150 0x5FFF FFFC 100 &AD23
- Power Macintosh 9500 ???
- ----------------------------------------------------------------------
-
- An upgraded Centris 610 doesn't return 119 (Centris 610 upgrade card?)
- but 75 (PowerMac 6100). (Carl R. Osterwald)
- With an upgraded Quadra 700 the upgrade card value is returned. The
- values for the upgrade cards came from the kMachineNameStrID resource
- from the Power Mac Upgrade Card enabler distributed with System
- Update 3.0 on disk 2. The Power Macintosh Card 1.0 control panel
- checks both the Quadra/Centris machine IDs and the ones for the
- upgrade cards to determine if it can run. (Rene Ros)
-
- With systems prior to System 7.1 these selectors return the same
- values for the:
- - Macintosh LC and
- Macintosh LC II (LC has MC68020,LC II has MC68030)
- - Macintosh PowerBook 140 and
- Macintosh PowerBook 145 (use MaximumProcessorSpeed from Power Mgr?,
- 16 and 25 MHz resp.)
-
- The Developer Notes (available from APDA, on ftp.info.apple.com and on
- the Developer CD-ROM Series) about some PowerBook models (100, 140,
- 170, 190, PB2300 and PPC Upgrade PB5xx) provide incorrect information
- regarding the machine type returned by the Gestalt Manager.
- The Developer Note on the Power Macintosh 9500 doesn't contain any
- Gestalt info, so it can't be wrong!
- The Developer Note on the Power Macintosh 7200 says the type value is
- 0x108, this must be 108 (decimal!). (Eric-Paul Rebel)
- The Developer Note for the Power Macintosh 5400 doesn't know the type
- value. It shows only question marks. (Rene Ros)
-
- IM More Macintosh Toolbox (p. 1-127) lists this selector as
- 'gestaltMachineModel'.
-
- You can use the returned value as an index with GetIndString
- to get the machine's name. The STR# resource ID is:
- enum {
- kMachineNameStrID = -16395};
- See for more information on the Machine Name STR# resource the
- 'Machine Names' section in the 'Reports' chapter.
-
- To check which processor clockspeed the machine is running at,
- use the 'pclk' selector. For the bus clockspeed, use the 'bclk'
- selector.
-
- See for more information on hardware modified Macintosh computers
- (i.e. clock chipping) and the values they return the 'Clock Chipped'
- section in the 'Reports' chapter.
-
- See for more information on clones the 'Macintosh Compatibles' section
- in the 'Reports' chapter.
-
- See for more information on relabled Macintosh models (i.e. the
- Performa models) the 'Relabled Macintosh Models' section in the
- 'Reports' chapter.
-
- malr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPMailerVersion
- Returns the SMP Mailer version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSMPMailerVersion 'malr' /* SMP Mailer version */
-
- mbxa (PowerTalk Manager ext [1.5?])
- gestaltOCEMailboxAPIAttr &AD32
- Returns information about the capabilities of the Mailbox.
-
- enum {
- #define gestaltOCEMailboxAPIAttr 'mbxa'
- gestaltMailboxAPIPresent = 0x01, /* basic operations on Mailbox */
- /* and Letter Contents avail. */
- gestaltSupportsOutbox = 0x02, /* examine and act upon the */
- /* outbox possible */
- gestaltSupportsErrorLog = 0x04 }; /* examine and act upon the */
- /* mailbox error log possible */
-
- WARNING:
- Unlike other selectors returning attributes, the responses are not bit
- values, but bit masks.
-
- micn (System [6.0.4]) INF
- gestaltMachineIcon
- Returns an icon family resource ID for the current type of
- Macintosh.
-
- #define gestaltMachineIcon 'micn' /* machine ICON/cicn res ID */
-
- NOTE:
- It appears as if this selector always returns the ID of the generic
- Macintosh icon (like in the Welcome screen), starting with System 7.5.
- On a PowerBook 5300 with System 7.5.2 installed the icon ID is
- returned for an icon showing a generic portable computer. (Rene Ros)
-
- misc (System [6.0.5])
- gestaltMiscAttr
- Returns information about miscellaneous pieces of software or
- hardware.
-
- enum {
- #define gestaltMiscAttr 'misc' /* miscellaneous attributes */
- gestaltScrollingThrottle = 0,
- gestaltBootGlobals = 1, /* Boot Globals &M02, obsolete? */
- gestaltSquareMenuBar = 2};
-
- WARNING:
- The Gestalt function for this selector, at least as implemented by
- System 7.5.3 and earlier, does not properly restore the D3 register
- and returns a bogus value in it. (John Mancino)
-
- mixd (System? [7.1.2?])
- gestaltMixedModeAttr
- Returns information about the Mixed Mode Manager.
-
- enum {
- #define gestaltMixedModeAttr 'mixd' /* Mixed Mode Mgr attributes */
- gestaltMixedModePowerPC = 0, /* true if Mixed Mode supports */
- /* PowerPC ABI calling */
- /* conventions &AS21 */
- gestaltPowerPCAware = 0, /* old name for */
- /* gestaltMixedModePowerPC */
- gestaltMixedModeCFM68K = 1, /* true if Mixed Mode supports */
- /* CFM-68K calling */
- /* conventions &AS21 */
- gestaltMixedModeCFM68KHasTrap = 2}; /* true if CFM-68K Mixed Mode */
- /* implements _MixedModeDispatch */
- /* (versions 1.0.1 and prior */
- /* did not) &AS21 */
-
- NOTE:
- The name 'gestaltMixedModeVersion' (as used in IM OS Utilites and
- IM PowerPC System Software) is incorrect. It may be listed in
- Gestalt header files for a limited time for backwards compatibility.
- (Rene Ros)
-
- mmu (System [6.0.4])
- gestaltMMUType
- Returns a value that indicates the type of MMU currently installed,
- if any.
-
- enum {
- #define gestaltMMUType 'mmu ' /* MMU Type */
- gestaltNoMMU = 0, /* no MMU */
- gestaltAMU = 1, /* AMU */
- gestalt68851 = 2, /* 68851 MMU */
- gestalt68030MMU = 3, /* built-in 68030 MMU */
- gestalt68040MMU = 4, /* built-in 68040/68LC040 &S01 */
- gestaltEMMU1 = 5}; /* Emulated MMU type 1, PowerPC MMU &AS05 */
-
- NOTE:
- You should also use this selector to test for the existence of
- _MemoryDispatch if your code runs before system patches are applied
- on machines of which the ROM implements _MemoryDispatch but the
- machine doesn't have a MMU. This may happen with a Mac LC, whose
- ROM is derived from the Macintosh IIci. &AT09
-
- mtcp (MacTCP cp [1.1])
- (Open Tpt MacTCP [3.0a2])
- gestaltMacTCPVersion? &AD01
- Returns the version of MacTCP, if opened, as index-value. If MacTCP is
- not opened a value of 0 is returned.
-
- #define gestaltMacTCPVersion? 'mtcp'
-
- ======================================================================
- MacTCP responses
- ======================================================================
- Version Response Remarks
- ----------------------------------------------------------------------
- 1.0 - 1.0.3 N/A Doesn't install selector.
- 1.1 and later 0 MacTCP not opened.
-
- 1.1 1
- 1.1.1 2
- 2.0.x 3
- 3.0 4 Part of Open Transport 1.0
- ----------------------------------------------------------------------
-
- WARNING:
- Rumour goes this selector is not installed with A/UX. Versions of
- MacTCP and A/UX involved are unknown.
-
- NOTE:
- No constants are defined by the documentation.
-
- nlup (System [7.0])
- gestaltStdNBPAttr
- Returns information about the call StandardNBP.
-
- enum {
- #define gestaltStdNBPAttr 'nlup' /* Standard NBP attributes */
- gestaltStdNBPPresent = 0,
- gestaltStdNBPSupportsAutoPosition = 1}; /* StandardNBP takes */
- /* (-1,-1) for auto- */
- /* positioning */
-
- nmgr (System [6.0.5])
- gestaltNotificationMgrAttr
- Returns information about the Notification Manager.
-
- enum {
- #define gestaltNotificationMgrAttr 'nmgr' /* Notification Mgr attr. */
- gestaltNotificationPresent = 0};
-
- nreg (System [7.5.1])
- gestaltNameRegistryVersion &AD21
- Returns the version of Name Registry as ???. When this selector isn't
- installed you can assume that the machine doesn't have PCI slots.
- Hence, when present PCI slots may NOT be installed!
-
- #define gestaltNameRegistryVersion 'nreg';
-
- NOTE:
- All returned values found so far are always 0! (Rene Ros, Dec. 95)
-
- nubs (System [6.0.4, 6.0.5, 6.0.7, discontinued])
- gestaltNuBusSlotCount
- Returns count of NuBus slots.
-
- #define gestaltNuBusSlotCount 'nubs' /* NuBus slot count */
-
- nvsv (System [Copland?])
- gestaltNavigationServicesAttr &AD21
- Returns information about the Navigation Services.
-
- enum {
- #define gestaltNavigationServicesAttr 'nvsv'
- gestaltNavigationServicesPresent = 0};
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- Apple System Software (O-S)
- ===========================
- This chapter lists selector codes of which the meaning is documented and
- the first character of the selector code is in the O-S range.
-
- ocet (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxVersion
- Returns the versions of the S&F Server and the OCE Toolbox as BCD.
- Returns zero if not present and available.
-
- enum {
- #define gestaltOCEToolboxVersion 'ocet' /* OCE Toolbox version */
- gestaltOCETB = 0x0102, /* current OCE Toolbox version 1.0.2 */
- gestaltSFServer = 0x0100}; /* current S&F Server version 1.0 */
-
- NOTE:
- The high order word will represent the S&F Server version number, and
- the low order the OCE Toolbox version number both as BCD.
- These will be zero until the component is up and running.
-
- oceu (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxAttr
- Returns information about the Open Colloboration Environment Toolbox.
-
- enum {
- #define gestaltOCEToolboxAttr 'oceu' /* OCE Toolbox attributes */
- gestaltOCETBPresent = 0x1, /* OCE toolbox is present, */
- /* not running */
- gestaltOCETBAvailable = 0x2, /* OCE toolbox is running */
- /* and available */
- gestaltOCESFServerAvailable = 0x4, /* S&F Server is running */
- /* and available */
- gestaltOCTBNativeGlueAvailable = 0x10}; /* PowerPC glue available */
- /* &AS13 */
-
- NOTE:
- Any (future) remaining OCE attributes may not be established
- correctly until the attribute gestaltOCETBAvailable is set.
-
- opfw (System [7.5.2])
- gestaltOpenFirmwareInfo
- Returns ???
-
- enum {
- #define gestaltOpenFirmwareInfo 'opfw'
- gestalt??? = 1};
-
- NOTE:
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- os (System [6.0.4, 7.0 and later])
- (Process Manager INIT ext [???], part of ???)
- gestaltOSAttr
- Returns general information about the Operating System.
-
- enum {
- #define gestaltOSAttr 'os ' /* O/S attributes */
- gestaltSysZoneGrowable = 0,
- gestaltLaunchCanReturn = 1,
- gestaltLaunchFullFileSpec = 2,
- gestaltLaunchControl = 3,
- gestaltTempMemSupport = 4,
- gestaltRealTempMemory = 5,
- gestaltTempMemTracked = 6,
- gestaltIPCSupport = 7,
- gestaltSysDebuggerSupport = 8,
- gestaltSkiaGlobalsSwitched = 9, /* &AS05 */
- gestaltBgndMouseDownSupport?= 10, /* unnamed Process Mgr routine */
- /* available to indicate if a */
- /* layer switch is wanted by the */
- /* application when one of its */
- /* windows is clicked while in */
- /* the background. &AS04 */
- gestalt??? = 11, /* on PowerPC, Performa 630 and */
- /* PB180? */
- gestalt??? = 13, /* unknown, System 7.5 */
- gestalt??? = 14, /* unknown, System 7.5 */
- gestalt??? = 15}; /* unknown, System 7.5.1 */
-
- NOTES:
- See the Process Manager chapter in IM Processes for more information
- about the launch control features. And the Memory Manager chapter in
- IM Memory about the memory features.
-
- Under A/UX 2.x this selector incorrectly returns information about the
- Process Manager, which isn't available. You should test for A/UX 3.0 or
- later by using the gestaltAUXVersion ('a/ux') selector. &AT10
-
- More information on the unnamed routine which presence is indicated
- by the gestaltBgndMouseDownSupport? bit can be found in the orginal
- email from Marco Piovanelli to the editor of the GSL. You can get a
- copy by emailing this command to the mail archive server:
- 'archive get src/UndocumentedProcesses.h'
-
- The header file which lists the gestaltSkiaGlobalsSwitched bit says
- this:
- /*gestaltSkiaGlobalsSwitched is #9. I don't know why it is not here*/
-
- "Skia" was the code name for QuickDraw GX (MacsBug uses it for trap
- 0xA832, which is the main QuickDraw GX trap).
- (Lawrence D'Oliveiro, Anonymous)
-
- ostt (System [6.0.8?])
- gestaltOSTable
- Returns the base address of the Operating System trap table.
-
- #define gestaltOSTable 'ostt' /* O/S trap table base */
-
- osyv (sysvINIT ext [???] by T. Tanaka, Apple Computer Japan Inc.)
- gestaltOldSystemVersion?
- Returns the version of the system file as BCD which was returned
- before sysvINIT replaced the gestalt definition with a corrected one.
-
- #define gestaltOldSystemVersion? 'osyv'
-
- NOTE:
- Because of a bug with KanjiTalk 6.0.7 this extension (snippet code,
- available on Developer CD Series) replaces the standard 'sysv' gestalt
- function with a corrected one to return 0x0607 and installs the
- 'osyv' selector which uses the replaced gestalt definition. &M03
-
- otan (Open Transport lib [1.0])
- gestaltOpenTpt &AS18
- Returns information about the Open Transport software.
-
- enum {
- #define gestaltOpenTpt 'otan'
- gestaltOpenTptPresent = 0x00000001,
- gestaltOpenTptLoaded = 0x00000002,
- gestaltOpenTptAppleTalkPresent = 0x00000004,
- gestaltOpenTptAppleTalkLoaded = 0x00000008,
- gestaltOpenTptTCPPresent = 0x00000010,
- gestaltOpenTptTCPLoaded = 0x00000020,
- gestaltOpenTptNetwarePresent = 0x00000040,
- gestaltOpenTptNetwareLoaded = 0x00000080};
-
- NOTE:
- Contrary to the 'ot ' selector this one is really installed by
- Open Transport.
-
- With Open Transport 1.08 (and probably lower) the OpenTptTCPLoaded bit
- is not set when OT TCP is loaded. (John Mancino)
-
- otvr (Open Transport lib [1.1])
- gestaltOpenTransportVersion?
- Returns the version of Open Transport as NumVersion. (Anonymous)
-
- #define gestaltOpenTransportVersion? 'otvr'
-
- pccd (System? [???])
- gestaltCardServicesAttr &AD24
- Returns information about the PC Card Manager (for managing i.e.
- PCMCIA cards).
-
- enum {
- #define gestaltCardServicesAttr 'pccd', /* Card Services attributes */
- gestaltCardServicesPresent = 0}; /* if set, Card Services is */
- /* present */
-
- NOTE:
- This selector is not implemented with any current system software
- (7.5.1) on the PowerBook 500 Series computers.
-
- pclk (System [7.5.2]) INF?
- gestaltProcClkSpeed &AS22
- Returns the processor clock speed in Hz.
-
- #define gestaltProcClkSpeed 'pclk'
-
- NOTES:
- Only on Power Macintosh, not on 68K computers?
-
- On a PowerBook 5300c with System 7.5.2 this selector returns 99.9999 Mhz,
- not 100. Small 'off-by-one' bug? (Rene Ros)
-
- Some 604-based Power Computing models return the wrong value.
- (Jean-Pierre Curcio)
-
- See also 'bclk' in this chapter.
-
- pcxg (PC Exchange cp? [???]) &AS04/AS05
- gestaltPCXAttr
- Returns information about PC Exchange.
-
- enum {
- #define gestaltPCXAttr 'pcxg' /* PC Exchange attributes */
- gestaltPCXHas8and16BitFAT = 0, /* PC Exchange supports both 8 and */
- /* 16 bit FATs */
- gestaltPCXHasProDOS = 1}; /* PC Exchange supports ProDOS */
-
- NOTE:
- [This selector] isn't supported by all versions of PCExchange.
- [...] to find out if MS-DOS (or ProDOS) disks can be mounted you can
- use the File System Manager' GetFSInfo routine to determine what
- FSM-based file systems are installed. (Jim Luther)
-
- pgsz (System [6.0.4])
- gestaltLogicalPageSize
- Returns the logical page size in bytes.
-
- #define gestaltLogicalPageSize 'pgsz' /* logical page size */
-
- NOTE:
- The value is unknown on 68000 machines, Gestalt will return an error.
-
- pop! (System [7.0])
- gestaltPopupAttr
- Returns information about the pop-up control definition.
-
- enum {
- #define gestaltPopupAttr 'pop!' /* pop-up CDEF attributes */
- gestaltPopupPresent = 0}; /* pop-up CDEF available */
-
- powr (System [6.0.4])
- gestaltPowerMgrAttr
- Returns information about the Power Manager, if present.
-
- enum {
- #define gestaltPowerMgrAttr 'powr' /* Power Mgr attributes */
- gestaltPMgrExists = 0, /* Power Mgr is present */
- gestaltPMgrCPUIdle = 1, /* CPU can idle */
- gestaltPMgrSCC = 2, /* can stop SCC clock */
- gestaltPMgrSound = 3, /* can shut off sound circuits */
- gestaltPMgrDispatchExists = 4}; /* dispatch routines are present */
-
- NOTE:
- Bit 4 seen set on Power Mac codenamed Catalyst with System 7.5.2.
- This is because some desktop machines support the Power Manager for
- things like Energy Star compliance. (Two anonymous contributors)
-
- ppc (System [7.0])
- gestaltPPCToolboxAttr
- Returns information about the capabilities of the PPC Toolbox as
- bit masks.
-
- enum {
- #define gestaltPPCToolboxAttr 'ppc ' /* PPC Toolbox attributes */
- gestaltPPCToolboxPresent = 0x0000, /* Requires PPCInit to */
- /* be called */
- gestaltPPCSupportsIncoming = 0x0001, /* Deny incoming net */
- /* requests */
- gestaltPPCSupportsOutGoing = 0x0002, /* Deny outgoing net */
- /* requests */
- gestaltPPCSupportsRealTime = 0x1000, /* Supports real-time */
- /* delivery */
- gestaltPPCSupportsStoreAndForward = 0x2000, /* Supports store and */
- /* forward delivery */
- gestaltPPCSupportsDontCare = 0x4000}; /* Supports specifi- */
- /* cation of Don't */
- /* care */
-
- NOTE:
- The first thing that is confusing is that, unlike other selectors
- returning attributes, the responses are not bit values, but bit masks.
- This means you simply AND the value with the response to test the bit.
- The second thing that is confusing is how to interpret
- gestaltPPCToolboxPresent = 0x0000.
- What this means is that if the PPC toolbox is present, but has not
- been initialised (by calling PPCInit), then gestaltPPCToolboxAttr
- returns 0x0000. In reality, PPCInit gets called by the Process
- Manager before any applications get launched, so no applications will
- actually see this response. (Dave Radcliffe)
-
- proc (System [6.0.4])
- gestaltProcessorType
- Returns a value that indicates the type of processor that is
- currently running (or emulated on Power Macs or under MAE).
-
- enum {
- #define gestaltProcessorType 'proc' /* processor type */
- gestalt68000 = 1, /* MC68000 */
- gestalt68010 = 2, /* MC68010 */
- gestalt68020 = 3, /* MC68020 */
- gestalt68030 = 4, /* MC68030 */
- gestalt68040 = 5}; /* MC68040 &S01 */
-
- NOTES:
- The 68LC040 responds as type gestalt68040 but doesn't have a FPU. The
- user can swap out the 68LC040 and put in a real 68040 with FPU, so
- just checking the machineType or the processorType isn't enough.
- (Dave Radcliffe)
-
- Has there been a 68EC030 processor??? I assume it returns
- gestalt68030 but doesn't have an MMU. (Rene Ros)
-
- On a Power Macintosh the Gestalt function returns, although a 68LC040
- is emulated, the value gestalt68020. This return value is intended to
- highlight the two ways in which the 68LC040 Emulator more closely
- resembles a 68020 processor than a 68040 processor. &AD11
-
- prpv (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPPromptVersion
- Returns the SDP Prompt version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSDPPromptVersion 'prpv' /* SDP Prompt version */
-
- prty (System [6.0.4])
- gestaltParityAttr
- Returns information about the parity-checking abilities of the
- machine.
-
- enum {
- #define gestaltParityAttr 'prty' /* parity attributes */
- gestaltHasParityCapability = 0,
- gestaltParityEnabled = 1};
-
- pwky (System Update enbl [7.5 upd 2.0])
- gestaltPowerKeyAddr?
- Returns a pointer to a routine of type
-
- typedef pascal OSErr (*PwrKeyProc)(short item, short action);
-
- to enable/disable the PowerKey and/or Shutdown Alert.
-
- #define gestaltPowerKeyAddr? 'pwky'
-
- NOTE:
- See TechNote 1017 (System 7.5 Update 2.0 / System 7.5.3) for more
- detailed information.
-
- qd (System [6.0.4])
- gestaltQuickdrawVersion
- Returns the version of QuickDraw currently present as 2-byte value.
-
- enum {
- #define gestaltQuickdrawVersion 'qd ' /* QuickDraw version */
- gestaltOriginalQD = 0x000,
- gestaltOriginalQD1 = 0x001,
- gestalt8BitQD = 0x100,
- gestalt32BitQD = 0x200,
- gestalt32BitQD11 = 0x210,
- gestalt32BitQD12 = 0x220,
- gestalt32BitQD13 = 0x230,
- gestalt32BitQD135? = 0x235, /* with System 7.1.2, ROM = 3072K? */
- gestalt32BitQD139? = 0x239, /* with System 7.5.1 on Power Macs */
- /* &AT12 */
- gestalt32BitQD141? = 0x241}; /* with System 7.5.2 */
-
- ======================================================================
- Possible Combinations of ROM Versions and System Software Versions
- ======================================================================
- ROM Class System Version Gestalt Value
- ----------------------------------------------------------------------
- Black-and-white class < 7.0 gestaltOriginalQD
- (ROM < 256K) >= 7.0 gestaltOriginalQD and
- gestaltSystemVersion >= 0x0700
-
- Color QD class < 7.0, no INITs gestalt8BitQD
- (ROM = 256K) 6.0.3/6.0.4 and gestalt32BitQD
- 32-Bit QD INIT 1.0
- 6.0.5-6.0.8 and gestalt32BitQD12
- 32-Bit QD INIT 1.2
- >= 7.0 gestalt32BitQD13
-
- ci class 6.0.4 gestalt32BitQD + 1
- (256K < ROM >= 3072K) 6.0.5-6.0.8 gestalt32BitQD12
- >= 7.0 gestalt32BitQD13
- SuperROM? 7.1.2-7.5? gestalt32BitQD135?
- (ROM = 3072K) 7.5.1? gestalt32BitQD139?
- 7.5.2? gestalt32BitQD141?
- ----------------------------------------------------------------------
- (Original source: D e v e l o p 14, June 1993, p. 56;
- Info on System 7.1.2 and later based on observations and technical
- notes.)
-
- NOTE:
- gestalt32BitQD11 is never returned and gestalt32BitQD + 1 means
- 0x0201 as response value and doesn't has a constant defined.
- Another QuickDraw version is System 7 with a black-and-white class
- machine.
-
- Color QuickDraw is only available on 68020 and greater CPUs, and
- this selector always returns gestaltOriginalQD on 68000 machines,
- even when running System 7. &AT11
-
- qdrw (System [7.0])
- gestaltQuickDrawFeatures &S01
- Returns information about QuickDraw.
-
- enum {
- #define gestaltQuickDrawFeatures 'qdrw' /* QuickDraw attributes */
- #define gestaltQuickDrawFeaturesAttr 'qdrw' /* used in some headers */
- gestaltHasColor = 0,
- gestaltHasDeepGWorlds = 1,
- gestaltHasDirectPixMaps = 2,
- gestaltHasGrayishTextOr = 3,
- gestaltSupportsMirroring = 4}; /* &AD12 */
-
- NOTES:
- There is a bug in the 'qdrw' selector that causes it to report that
- Color QuickDraw is always present, even on machines that don't support
- it. Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
- Use SysEnvirons instead or test for the QD version ('qd ') being
- 8-bit QD or later.
-
- qtim (QuickTime ext [1.0])
- gestaltQuickTime
- gestaltQuickTimeVersion
- Returns QuickTime version as NumVersion.
-
- #define gestaltQuickTime 'qtim' /* Movie Toolbox Availability */
- #define gestaltQuickTimeVersion 'qtim' /* Movie Toolbox version */
-
- NOTES:
- The returned version is obtained from 'vers' resource ID# 1.
-
- Initially the name 'gestaltQuickTime' was used to test for the
- availability of QuickTime. The fact that is always returned a
- version number was not documented until later. Then the name
- 'gestaltQuickTimeVersion' was defined. (Rene Ros)
-
- See 'Reports' chapter (QuickTime section) for more information.
-
- qtrs (QuickTime PowerPlug ext [1.0?])
- gestaltQuickTimeFeatures &AS06
-
- enum {
- #define gestaltQuickTimeFeatures 'qtrs' /* QT Features attributes */
- gestaltPPCQuickTimeLibPresent = 0}; /* PowerPC QT glue library is */
- /* present */
-
- NOTE:
- The gestaltPPCQuickTimeLibPresent bit indicates that the native
- QuickTime interface library is available and can be called by native
- PowerPC applications. (Dave Radcliffe)
- See for more info Technical Note
- 'QT 01 - Inside Macintosh: QuickTime Addendum'.
-
- ram (System [6.0.4])
- gestaltPhysicalRAMSize
- Returns the number of bytes of the physical RAM currently installed.
-
- #define gestaltPhysicalRAMSize 'ram ' /* physical RAM */
-
- rbv (System [6.0.4, discontinued?]) &AS04
- gestaltRBVAddr
- Returns the address of the RBV.
-
- #define gestaltRBVAddr 'rbv ' /* RBV address */
-
- reno (Apple Guide ext [1.2?], part of System 7.5 and later)
- ???
- Indicates presence "of the Reno system extension." (Reno is the
- mechanism behind Apple Guide for managing the help data-bases?)
-
- rmbg (System [7.5.2])
- kResourceBugFixesAttrs
- Returns information to determine both the presence of the native
- Resource Manager and the ordering of resources returned by the
- GetIndType and Get1IndType. &AT13
-
- enum {
- kGestaltRMNativePowerPC? = 0,
- kGestaltRM??? = 1
- kGestaltRMTypeIndexOrderingReverse = 2, /* reverse ordering */
- kGestaltRMTypeIndexOrderingUndefined = 3}; /* ordering information */
- /* unavailable */
-
- rom (System [6.0.4]) INF
- gestaltROMSize
- Returns the size of the installed ROM in bytes.
-
- #define gestaltROMSize 'rom ' /* ROM size */
-
- NOTE:
- On Power Macintosh computers this selector returns the ROM size minus
- the 68K emulator portion, which uses about 1 MB. &AD18
-
- romv (System [6.0.4]) INF
- gestaltROMVersion
- Returns the version number of the installed ROM.
-
- #define gestaltROMVersion 'romv' /* ROM version */
-
- rsrc (System [should work since 7.0?])
- gestaltResourceMgrAttr
- Returns information about the Resource Manager.
-
- enum {
- #define gestaltResourceMgrAttr 'rsrc' /* Resource Mgr attributes */
- gestaltPartialRsrcs = 0,
- gestaltResourceOverrides? = 1}; /* resource map overrides? */
-
- NOTE:
- Under System 7, bit 0 that tells if you have partial resource support
- doesn't work right. The selector is undefined under System 7.0 and
- 7.0.1 even though the partial resource calls are available. This has
- been acknowledged by Apple. (Michael Hecht, Quinn)
-
- rtmr (System? [7.1.1?])
- gestaltRealtimeMgrAttr
- Returns information about the Realtime Manager.
-
- enum {
- #define gestaltRealtimeMgrAttr 'rtmr' /* Realtime Mgr attributes */
- gestaltRealtimeMgrPresent = 0}; /* Realtime Mgr is present */
-
- NOTE:
- If the RealTime Mgr is present this means the ARTA routines are
- available to determine if and how many DSPs are installed.
- (Zalman Stern)
-
- sccr (System [6.0.4, discontinued]) &AS04
- gestaltSCCReadAddr
- Returns the address of SCC read ports.
-
- #define gestaltSCCReadAddr 'sccr' /* SCC read ports address */
-
- sccw (System [6.0.4, discontinued]) &AS04
- gestaltSCCWriteAddr
- Returns the address of SCC write ports.
-
- #define gestaltSCCWriteAddr 'sccw' /* SCC write ports address */
-
- scr# (System [6.0.4])
- gestaltScriptCount
- Returns the number of script systems currently active.
-
- #define gestaltScriptCount 'scr#' /* number of active scripts */
-
- scra (Macintosh Easy Open cp [1.0]) &AD03
- gestaltScrapMgrAttr
- Returns information about the Scrap Manager.
-
- enum {
- #define gestaltScrapMgrAttr 'scra'; /* Scrap Mgr attributes */
- gestaltScrapMgrTranslationAware = 0};
-
- scri (System [6.0.4])
- gestaltScriptMgrVersion
- Returns the version number of the Script Manager as BCD.
-
- #define gestaltScriptMgrVersion 'scri' /* Script Mgr version */
-
- ======================================================================
- Version numbers for the Script Manager
- ======================================================================
- System Version Script Mgr Script Mgr Version
- (older ROMs)+ (newer ROMs) format
- ----------------------------------------------------------------------
- 6.0.3 and earlier <= 0x20F N.A. binary
- 6.0.4 Roman 0x211 0x215 "
- 6.0.4 non-Roman 0x212 0x216 "
- 6.0.5 0x213 0x217 (=2.23) "
-
- 6.0.7 0x230 0x231 BCD
- J-6.0.7.1 0x230 0x231 "
- 6.0.8 0x230 0x231 "
- 6.1 non-Roman 0x240 0x241 "
- 7.0 0x700 0x700 "
- 7.0.1 Roman 0x701 0x701 "
- 7.0.1 non-Roman 0x701 0x701 "
- 7.1 0x710 0x710 "
- 7.5 0x720 0x720 "
- 7.5.1/7.5.2/7.5.3 0x750 0x750 "
-
- + Plus,SE,II,IIx,IIcx,SE/30,Classic
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p. 6-9;
- Info on System 7.5 and later based on observations.)
-
- scsi (System [7.1.2?])
- (SCSI Manager ext [4.3])
- gestaltSCSI &AT07
- Returns information about the SCSI Manager.
-
- enum {
- #define gestaltSCSI 'scsi' /* SCSI Manager attributes */
- gestaltAsyncSCSI = 0, /* Supports asynchronous SCSI */
- gestaltAsyncSCSIINROM = 1, /* Async SCSI is in ROM (available for */
- /* booting) */
- gestaltSCSISlotBoot = 2}; /* ROM supports Slot-style PRAM for */
- /* SCSI boots */
- sdev (Control Strip cp [1.0])
- gestaltControlStripAttr
- Returns information about the Control Strip software.
-
- enum {
- #define gestaltControlStripAttr 'sdev'
- gestaltControlStripExists = 0, /* TRUE = control strip is */
- /* installed */
- gestaltControlStripVersionFixed = 1, /* version of Control Strip */
- /* installs 'csvr' selector */
- /* instead of 'sdvr' &AS11 */
- gestaltControlStripUserFont = 2, /* supports user-selectable */
- /* font/size &AS20 */
- gestaltControlStripUserHotKey = 3};/* support user-selectable hot */
- /* key to show/hide the */
- /* window &AS20 */
-
- NOTE:
- A file 'IsControlStrip.c' included with the Apple Guide Authoring Kit
- defines this selector as:
- #define gestaltStatusBarAttr 'sdev'
- #define gestaltStatusBarExists 0
- (Rene Ros)
-
- sdvr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPStandardDirectoryVersion
- Returns the SDP Standard Directory version as INTEGER. Returns zero if
- not present and available.
-
- #define gestaltSDPStandardDirectoryVersion 'sdvr'
- /* SDP Standard Directory version */
-
- WARNING:
- The same selector code is used by the Control Strip 1.0 control panel.
- See the gestaltControlStripVersion ('csvr') selector entry above.
-
- ser (System [6.0.8?])
- gestaltSerialAttr
- Returns information about the serial hardware of the machine.
-
- enum {
- #define gestaltSerialAttr 'ser ' /* serial hardware attributes */
- gestaltGPIaToDCDa = 0,
- gestaltGPIaToRTxCa = 1,
- gestaltGPIaToDCDb = 2};
-
- slmp (Shared Library Manager? ext [2.0])
- (System? [7.5.2?)
- gestaltASLMPPC &AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
-
- slot (System [6.0.4, 6.0.5, discontinued])
- gestaltSlotAttr
- Returns information about the Slot Manager.
-
- enum {
- #define gestaltSlotAttr 'slot' /* Slot Mgr attributes */
- gestaltSlotMgrExists = 0,
- gestaltNuBusPresent = 1,
- gestaltSESlotPresent = 2,
- gestaltSE30SlotPresent = 3,
- gestaltPortableSlotPresent = 4};
-
- slt1 (System [6.0.4, 6.0.5, discontinued])
- gestaltFirstSlotNumber
- Returns first slot number.
-
- #define gestaltFirstSlotNumber 'slt1' /* First Slot number */
-
- sltc (System [6.0.8?])
- gestaltNuBusConnectors
- Returns information about the NuBus slot connector locations. The
- value returned is a bitmap. If bits 9 to E are set, there are six
- slots present with locations 9 to E.
-
- #define gestaltNuBusConnectors 'sltc' /* NuBus connector bitmap */
-
- NOTE:
- This selector does not return information about the PDS slot (with
- or without NuBus adapter). Also, it is unknown if this selector also
- includes slot 0x8 which was added with the Power Macintosh 8100/110.
- (John Mancino)
-
- snd (System [6.0.4])
- gestaltSoundAttr
- Returns information about the sound capabilities of the machine.
-
- enum {
- #define gestaltSoundAttr 'snd ' /* sound attributes */
- gestaltStereoCapability = 0, /* can play stereo sounds */
- gestaltStereoMixing = 1, /* mixes channels into single */
- /* signal */
- gestaltSoundReserved = 2, /* Sound Manager 3.1? QT uses new */
- /* Sound Mgr calls? */
- gestaltSoundIOMgrPresent = 3, /* new sound input routines avail.*/
- gestaltBuiltInSoundInput = 4, /* built-in sound input device */
- /* available */
- gestaltHasSoundInputDevice = 5, /* some sound input device avail. */
- gestaltPlayAndRecord = 6, /* built-in hardware can play and */
- /* record simultaneously */
- /* &AS03/AS04 */
- gestalt16BitSoundIO = 7, /* sound hardware can play and */
- /* record 16-bit samples &AS04 */
- gestaltStereoInput = 8, /* sound hardware can record */
- /* stereo &AS04 */
- gestaltLineLevelInput = 9, /* sound input port requires line */
- /* level &AS04 */
- /* the following bits are not defined prior to Sound Mgr 3.0 */
- gestaltSndPlayDoubleBuffer = 10, /* play from disk available &AS04 */
- gestaltMultiChannels = 11, /* multiple channel support */
- /* &AS03/AS04 */
- gestalt16BitAudioSupport = 12}; /* 16 bit audio data supported */
- /* &AS04 */
-
- NOTES:
- Bit 7 through 12 are not defined for versions of the Sound Manager
- prior to version 3.0.
-
- With the Enhanced Sound Manager (version 2) you have both multi-
- channel and play-from-disk capability if the Apple Sound Chip is
- available. But the gestaltSndPlayDoubleBuffer and gestaltMultiChannels
- bits are not set. Test for the gestaltHasASC bit of the
- gestaltHardwareAttr selector. &AD06/AD20
- A later Technical Note retracts this info, and says it is not safe to
- assume both functions if the gestaltHasASC bit is set with the
- gestaltHardwareAttr selector! &AT01
-
- snhw (System [7.5])
- (Sound Manager ext [3.0])
- gestaltSoundHardware
- Returns type of hardware used for sound?
-
- #define gestaltSoundHardware 'snhw' /* Sound Hardware */
- #define gestaltASC 'asc ' /* ASC */
- #define gestaltAwacs? 'awac' /* returned on PowerMac */
- #define gestaltGCAwacs? 'awgc' /* returned on PM 7200, PM 8500 */
- /* and PM 9500 with System */
- /* 7.5.2*/
- #define gestaltClassicSound 'clas' /* Classic Mac? */
- #define gestaltDSP 'dsp ' /* DSP */
- #define gestaltSinger? 'sing' /* returned on PB 540c */
- #define gestaltSinger2? 'sng2' /* returned on PB 190cs and */
- /* PB 5300 */
- #define gestaltWhitney? 'whit' /* returned on Performa 5300 */
-
- NOTE:
- The SoundComponents.h header file from ETO #18 lists the following
- values, possibly also return values for this selector? (Anonymous)
-
- kClassicSubType 'clas' /* classic hardware, i.e. Mac Plus */
- kASCSubType 'asc ' /* Apple Sound Chip device */
- kDSPSubType 'dsp ' /* DSP device */
- kAwacsSubType 'awac' /* Another of Will's Audio Chips device*/
- kGCAwacsSubType 'awgc' /* Awacs audio with Grand Central DMA */
- kSingerSubType 'sing' /* Singer (via Whitney) based sound */
- kSinger2SubType 'sng2' /* Singer 2 (via Whitney) for Acme */
-
- spsl (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPSPSendLetterVersion
- Returns the SMP SendLetter version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSMPSPSendLetterVersion 'spsl' /* SMP Sendletter */
- /* version */
-
- stdf (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltStandardFileAttr
- Returns information about the Standard File Package.
-
- enum {
- #define gestaltStandardFileAttr 'stdf' /* Standard File attr. */
- gestaltStandardFile58 = 0, /* StandardPutFile, */
- /* StandardGetFile, */
- /* CustomPutFile and */
- /* CustomGetFile are */
- /* available. */
- gestaltStandardFileTranslationAware = 1, /* &AD03/AS04 */
- gestaltStandardFileHasColorIcons = 2, /* &AD03/AS04/AS05 */
- gestaltStandardFileUseGenericIcons = 3, /* force the LDEF to use */
- /* only the system */
- /* generic icons &AT06 */
- gestaltStandardFileHasDynamicVolumeAllocation = 4};
- /* supports more than 20 */
- /* volumes &AT06 */
-
- sysa (System [7.1.2?]) &AS04
- gestaltSysArchitecture
- Returns one of the following values, indicating the type of
- architecture on which the application is currently running.
-
- enum {
- #define gestaltSysArchitecture 'sysa' /* System Architecture type */
- gestalt68k = 1,
- gestaltPowerPC = 2};
-
- sysu (System Update enbl [7.5 upd 2.0s3]) INF?
- gestaltSystemUpdateVersion? &AS22
- Returns the System Update version as NumVersion.
-
- #define gestaltSystemUpdateVersion 'sysu'
-
- NOTE: System 7.5.3 Revision 2 returns 2.0.3 for this selector.
-
- sysv (System [6.0.4]) INF
- gestaltSystemVersion
- Returns the version number of the currently active System file as BCD.
-
- #define gestaltSystemVersion 'sysv' /* System file version */
-
- NOTES:
- In addition KanjiTalk 6.0.7 (Japanese System) and other non-Roman
- versions return 0x0606. See the 'osyv' selector.
- System J-6.0.7.1 returns 0x0609
-
- System 6.0.8 returns 0x0607 because only the printer drivers were
- added. You can't determine if it is actually 6.0.8 in another way.
-
- There are some system versions (like International System 6.0.8.1 or
- 7.0.1.1) which just return the normal version number, i.e. 6.0.8 and
- 7.0.1.
-
- System 7.1.2 (for Power Macintosh) apparently returns an incorrect
- version number (0x0710) when in 68K mode with a PPC Upgrade card.
- (Rick Gansler)
-
- System 7.5 Update 1.0 makes this selector return 0x751. (Anonymous)
-
- To determine the system update version, use the 'sysu' selector.
-
- Apple System Software (T-Z)
- ===========================
- This chapter lists selector codes of which the meaning is documented and
- the first character of the selector code is in the T-Z range.
-
- tabl (System [6.0.4])
- gestaltSelectorTable?
- Returns a handle to the Gestalt selector table itself.
-
- #define gestaltSelectorTable? 'tabl' /* Gestalt Table address */
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct. But it is likely to go away in future systems.
-
- NOTE:
- The Gestalt selector table is kept in a resizable block in the system
- heap. The last item in the table is a dummy entry (INVALID), marked by
- a selector OSType(MaxLongInt). (Marco Piovanelli, he also has some
- snippet Pascal code to list all selectors)
- With System 7.5 each item in the table now contains three parts:
- the selector, an information field and a field with either a pointer
- or a value. If the information field (or only bit 0) is 1, a value is
- stored, otherwise a pointer to the gestalt function. (Eric-Paul Rebel)
- For backward compatibility this selector probably now points to a
- second table using the old format. (Rene Ros)
-
- tbtt (System [6.0.8])
- gestaltToolboxTable
- Returns the base address of the Toolbox trap table.
-
- #define gestaltToolboxTable 'tbtt' /* Toolbox trap table base */
-
- te (System [6.0.5])
- gestaltTextEditVersion
- Returns a value that indicates which version of TextEdit is present.
-
- enum {
- #define gestaltTextEditVersion 'te ' /* TextEdit version number */
- gestaltTE1 = 1, /* TextEdit in MacIIci ROM */
- gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci */
- /* (Script bug fixes for MacIIci) */
- gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but */
- /* MacIIci */
- gestaltTE4 = 4, /* TextEdit in System 7.0 */
- gestaltTE5 = 5, /* TextWidthHook available in TextEdit */
- gestaltTE6 = 6}; /* TextEdit in System 8.0 &AS20 */
-
- ======================================================================
- Version numbers for TextEdit
- ======================================================================
- Returned value New Features System software Hardware
- ----------------------------------------------------------------------
- gestaltUndefSelector Multistyled TE before 6.0.4 all
- gestaltTE1 6.0.4 Roman IIci
- gestaltTE2 New width 6.0.4 non-Roman IIci
- measurement hook
- Script Mgr compatible
- gestaltTE3 6.0.4 non-Roman non-IIci
- gestaltTE4 TEFeatureFlag 6.0.5 all
- gestaltTE5 Text width 7.0 all
- measurement hook
- gestaltTE6 ??? 8.0 all?
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p.2-23)
-
- NOTE:
- The inline input features (also in TextEdit version 5) are also
- available with System 6.0.7 using non-Roman script systems, but there
- is no Gestalt constant that indicates this availability. &AD19
-
- teat (Macintosh Drag and Drop ext [1.0])
- gestaltTEAttr &AD05
- Returns information about the functions and capabilities of TextEdit.
-
- enum {
- gestaltTEAttr 'teat' /* TextEdit attributes */
- gestaltTEHasGetHiliteRgn = 0, /* TEGetHiliteRgn present */
- gestaltTESupportsInlineInput = 1, /* TextEdit does Inline Input */
- /* &AS20 */
- gestaltTESupportsTextObjects = 2}; /* TextEdit does Text Objects */
- /* &AS20 */
-
- tele (System [7.5])
- (Telephone Manager Extension ext [2.0?], part of Apple Telecom)
- gestaltTelephoneMgrAttr?
- Returns information about the Telephone Mgr.
-
- enum {
- #define gestaltTeleMgrAttr 'tele'
- gestaltTeleMgrPresent = 0,
- gestaltTeleMgrPowerPCSupport = 1,
- /* below installed by Telephone Mgr 2.0? &AD21 */
- gestaltTeleMgrSoundStreams = 2,
- gestaltTeleMgrAutoAnswer = 3,
- gestaltTeleMgrIndHandset = 4,
- gestaltTeleMgrSilenceDetect = 5,
- gestaltTeleMgrNewTELNewSupport = 6};
-
- term (System [7.1])
- gestaltTermMgrAttr
- Returns information about the Terminal Manager.
-
- enum {
- #define gestaltTermMgrAttr 'term' /* Terminal Mgr attributes */
- gestaltTermMgrPresent = 0, /* Terminal Mgr is present */
- gestaltTermMgrErrorString = 2}; /* &AS04 */
-
- thds (Thread Manager ext [1.1]) &AD04
- (QuickDraw GX ext [1.0?])
- (System [7.1.2?])
- gestaltThreadAttr
- Returns information about the Thread Manager.
-
- enum {
- #define gestaltThreadAttr 'thds' /* Thread Manager attributes */
- gestaltThreadsPresent = 0, /* bit true if Threads present */
- gestaltSpecificMatchSupport = 1, /* bit true if 'exact match' API */
- /* supported */
- gestaltThreadsLibraryPresent = 2, /* bit true if ThreadsLib is */
- /* present */
- gestaltSchedulerFix? = 3, /* preemptive scheduler fix */
- /* present? */
- gestalt??? = 4}; /* unknown, System 7.5.1 */
-
- NOTES:
- IM OS Utilities lists this selector as 'gestaltThreadMgrAttr'.
-
- For unknown reasons, the gestaltThreadsLibraryPresent bit is not set when
- running under PPC-native mode, on KanjiTalk (Japanese) System 7.5.
- (Laurent Humbert)
-
- tmgr (System [6.0.4])
- gestaltTimeMgrVersion
- Returns a value that indicates the version of the Time Manager.
-
- enum {
- #define gestaltTimeMgrVersion 'tmgr' /* Time Mgr version */
- gestaltStandardTimeMgr = 1, /* Standard Time Mgr */
- gestaltRevisedTimeMgr = 2, /* Revised Time Mgr */
- gestaltExtendedTimeMgr = 3}; /* Extended Time Mgr */
-
- tpad (System? [7.5?] on PowerBook 520/540?)
- Indicates precense of a trackpad? As such used in the 'IsTrackPad.c'
- file included with the Apple Guide Authoring Kit.
-
- tsma (System? [???])
- gestaltTSMgrAttr &AS14
- Returns information about the Text Services Manager.
-
- enum {
- #define gestaltTSMgrAttr 'tsma' /* Text Services Mgr attributes */
- gestaltTSMDisplayMgrAwareBit = 0, /* TSM knows about Display Mgr */
- gestaltTSMdoesTSMTEBit = 1}; /* TSM has integrated TSMTE &AS20 */
-
- tsmv (System [7.1])
- gestaltTSMgrVersion &AT05
- Returns Text Services Manager version in BCD.
-
- enum {
- #define gestaltTSMgrVersion 'tsmv' /*Text Services Mgr version */
- gestaltTSMgr2 = 0x200}; /* &AS20 */
-
- tv (System? [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTVAttr &AS14
- Returns information about the TV capabilities?
-
- enum {
- #define gestaltTVAttr 'tv ' /* TV Version [huh? ed.] */
- gestaltHasTVTuner = 0, /* supports Philips FL1236F */
- /* video tuner */
- gestaltHasSoundFader = 1, /* supports Philips TEA6330 */
- /* Sound Fader chip */
- gestaltHasHWClosedCaptioning = 2, /* supports Philips SAA5252 */
- /* Closed Captioning */
- gestaltHasIRRemote = 3, /* supports CyclopsII Infra Red */
- /* Remote Control */
- gestaltHasVidDecoderScaler = 4, /* supports Philips SAA7194 */
- /* Video Decoder/Scaler */
- gestaltHasStereoDecoder = 5, /* supports Sony SBX1637A-01 */
- /* stereo decoder */
- gestaltHasSerialFader = 6, /* has fader audio in serial */
- /* with system audio &AS22 */
- gestaltHasFMTuner = 7}; /* has FM Tuner from donnybrook */
- /* card &AS22 */
-
- NOTE:
- A Power Macintosh 6100/66 with AV card and System 7.5.1 had both bit
- 3 and 4 set. A Quadra 605, LC475, PM 6100/60, Performa 5200 (all with
- System 7.5.x) only had bit 3 set. Where is the remote control, then?
- Selector not installed on Quadra 700 and PB Duo 210 (also System
- 7.5.1 & 7.5upd2). (John Tsombakos, Rene Ros)
- An LC630 didn't had bit 5 set, while it is supposed to have a stereo
- decoder. (Eric-Paul Rebel)
-
- ufox (Foreign File Access ext [4.0], part of Apple CD-ROM Software) &AT03
- gestaltForeignFileAccessVersion?
- Returns Foreign File Access version in BCD.
-
- #define gestaltForeignFileAccessVersion? 'ufox';
- /* Foreign File Access version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- vers (System [6.0.4])
- gestaltVersion
- Returns the version of Gestalt as INTEGER.
-
- enum {
- #define gestaltVersion 'vers' /* Gestalt version */
- gestaltValueImplementedVers = 5}; /* Version implementing */
- /* GestaltValue &AD21 */
-
- NOTE:
- Usually version 1 is present. On machines with ROM version 1917
- (Quadra 840AV, PowerMacs etc.) version 4 is present.
- Version 5 is installed by System 7.5 adding support for the
- GestaltValue calls. And version 6 is installed by System 7.5.1.
- (Rene Ros, Anonymous)
-
- via1 (System [6.0.4, discontinued])
- gestaltVIA1Addr
- Returns the address of VIA 1.
-
- #define gestaltVIA1Addr 'via1' /* VIA 1 address */
-
- NOTE:
- At least on a Performa 450 (LC III) this selector and 'via2' exists for
- a short moment, until they are removed (by the system?).
- (Anthony DeRobertis)
-
- via2 (System [6.0.4, discontinued])
- gestaltVIA2Addr
- Returns the address of VIA 2.
-
- #define gestaltVIA2Addr 'via2' /* VIA 2 address */
-
- NOTE:
- At least on a Performa 450 (LC III) this selector and 'via1' exists for
- a short moment, until they are removed (by the system?).
- (Anthony DeRobertis)
-
- vm (System [6.0.4])
- gestaltVMAttr
- Returns information about virtual memory.
-
- enum {
- #define gestaltVMAttr 'vm '
- gestaltVMPresent = 0, /* set; virtual memory present */
- gestaltVMNotInstalled = 0}; /* clear; virtual memory not present */
-
- NOTE:
- Starting with Copland (System 8?) VM is always on but this selector
- will tell VM is off. A future selector allows to test if the
- microkernel is running and thus if VM is actually used. &AD10/AD22
-
- wind (System [Copland?])
- gestaltWindowMgrAttr &AD21
- Returns information about the Window Manager.
-
- enum {
- #define gestaltWindowMgrAttr 'wind'
- kSystemEightWindowMgr = 0,
- kSystemEightWindowsVersion = 8,
- kLatestWindowsVersion = 8};
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- NOTE:
- The constants indicate Copland may be called System 8. Also, is
- it 'Window Manager' or 'WindowS Manager'? :-) (Rene Ros)
-
- wma. (System [7.0])
- (Responder ext [2.0?])
- gestaltResponderAttr
- Returns information about the Workstation Management Agent a.k.a.
- Responder.
-
- enum {
- #define gestaltResponderAttr 'wma.' /* Responder attributes */
- gestaltResponderPresent = 0}; /* Responder is present */
-
- xlat (Macintosh Easy Open cp [1.0]) &AD03
- gestaltTranslationAttr
- Returns information about the Translation Manager.
-
- enum {
- #define gestaltTranslationAttr 'xlat' /* Translation Mgr attrib. */
- gestaltTranslationMgrExists = 0, /* TM present */
- gestaltTranslationMgrHintOrder = 1, /* TRUE if hint order */
- /* reversal bug is fixed */
- gestaltTranslationPPCAvail = 2, /* PPC Lib. available */
- gestaltTranslationGetPathAPIAvail = 3, /* GetFileTranslationPath & */
- /* GetPathTranslationDialog*/
- /* available */
- gestalt??? = 4}; /* by MEO 1.1 and later */
-
- xttt (System [6.0.8])
- gestaltExtToolboxTable
- Returns the base address of the second half of the Toolbox trap table
- if the table is discontiguous. If the table is contiguous, this
- selector returns zero. &AD19
-
- #define gestaltExtToolboxTable 'xttt' /* Extended Toolbox trap table*/
-
- NOTE:
- This selector may be installed but returns gestaltUnknownErr instead
- of zero when the table is contiguous? (Rene Ros)
-
- Apple Additional Software
- =========================
- This chapter lists selector codes of which the meaning is documented and
- are installed by additional, non-system software, software from Apple.
-
- arb (PortShare Pro ? cp [1.2?] by Stalker Software)
- (Serial Port Arbitrator ext [1.0], part of Apple Remote Access)
- gestaltArbitorAttr &AD02
- Returns information about the Serial Port Arbitration.
-
- enum {
- #define gestaltArbitorAttr 'arb ' /* Serial Port Arbitration */
- /* attributes */
- gestaltSerialArbitrationExists = 0}; /* Serial Port Arbitration */
- /* installed */
-
- calb (OpenDoc? [???])
- gestaltCALibVersion
- Returns the version of the CA Library as BCD?
-
- #define gestaltCALibVersion 'calb';
- #define CALIB_VERSION_1 ((short)0x0100)
-
- cltn (QuickDraw GX [1.0])
- gestaltCollectionMgrVersion
- Returns the version of the Collection Manager as NumVersion.
-
- #define gestaltCollectionMgrVersion 'cltn' /* Collection Mgr version*/
-
- NOTE:
- The Collection Manager is a set of routines for maintaining tagged
- collections of data; GX uses it to support the "tags" that you can
- attach to GX objects, for holding special data, including
- user-defined data. (Lawrence D'Oliveiro)
-
- gc24 (8*24 GC cp [???])
- gestaltGC24? &M07
- Returns the version of the 8*24 GC software for the Macintosh
- Display Card 8*24 GC as BCD?
-
- #define gestaltGC24? 'gc24'
-
- NOTE:
- This selector is also installed when no card is available. A value
- returned when no card is installed is 0xFFFF D8EB.
-
- gfxa (QuickDraw GX [1.0])
- gestaltGraphicsAttr
- Returns information about the Graphics.
-
- enum {
- #define gestaltGraphicsAttr 'gfxa' /* graphics attributes bits */
- gestaltGraphicsIsDebugging = 0x0001,
- gestaltGraphicsIsLoaded = 0x0002,
- gestaltGraphicsIsPowerPC = 0x0004};
-
- NOTE: Not bit values but bit masks? Use AND?
-
- grfx (QuickDraw GX ext [1.0])
- gestaltGraphicsVersion
- Returns the version of the Graphics as ???.
-
- enum {
- #define gestaltGraphicsVersion 'grfx' /* Gestalt version selector */
- gestaltCurrentGraphicsVersion = 0x00010000}; /* supposed value */
- /* returned */
-
- kids (At Ease [1.0])
- kAtEaseGestalt
- Returns a handle to a structure holding information about At Ease.
-
- The following code was published by Apple &AT06:
-
- #define kAtEaseGestalt 'kids'
- typedef struct {
- short giVersion; /* structure version */
- short giIsActive; /* true if at ease is currently running */
- short giAutoCreateAlias; /* if true then auto create alias */
- short giRequestFloppy; /* if true then request floppy on new
- saves */
- short giStacksAreApps; /* if true then HyperCard stacks are shown
- with applications */
- FSSpec giItemsLocation; /* location of the At Ease Items folder */
- /* more version 2 fields??? */
- } GestaltRec, *GestaltRecPtr, **GestaltRecHand;
-
- mess (QuickDraw GX [1.0])
- gestaltMessageMgrVersion
- Returns the version of the Message Manager as ???.
-
- #define gestaltMessageMgrVersion 'mess' /* Message Mgr version */
-
- NOTE:
- The Message Manager is an implementation of object-oriented-style
- message passing within an inheritance hierarchy, that can be used from
- non-OO languages.
- It is used by the GX printing system, to allow the customization of
- printing behaviour by letting applications (and developers of printing
- extensions) intercept messages sent to the printer driver.
- (Lawrence D'Oliveiro)
-
- mtlk (QuickTime Conferencing ext? [1.0?])
- gestaltQuickTimeConferencing
- Returns the version of QuickTime Conferencing as NumVersion.
-
- #define gestaltQuickTimeConferencing 'mtlk'
-
- NOTE:
- For compatibiity reasons the gestaltQuickTimeConferencing ('mtlk')
- selector will remain to return 0x01028000.
- The gestaltQuickTimeConferencingInfo ('qtci') selector will return the
- proper version number and string. &AT15
-
- See also the gestaltQuickTimeConferencingInfo ('qtci') selector.
-
- mtv2 (Video Player app [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTV &AD16
- "Indicates whether the Video Player app is present."
-
- pmgr (QuickDraw GX [1.0])
- gestaltGXPrintingMgrVersion
- Returns the version of the QuickDraw GX Printing Manager as ???.
-
- #define gestaltGXPrintingMgrVersion 'pmgr' /* QD GX Printing Mgr */
- /* version */
-
- NOTE:
- The QuickDraw GX documentation lists this selector incorrectly as
- 'gestaltPrintingMgrVersion'. (Ken Prehoda)
-
- q3v (QuickDraw 3D ext? [1.0.2])
- gestaltQD3DVersion &AD30
- Returns the version of QuickDraw 3D as a Double BCD.
-
- #define gestaltQD3DVersion 'q3v '
-
- NOTE:
- Selector was not defined with documentation, but version 1.0.3 was
- seen to install this selector with a response value similair to
- its version.
-
- q3vc (QuickDraw 3D ??? [???])
- gestaltQD3DViewer
- Returns information about the QuickDraw 3D Viewer.
-
- enum {
- #define gestaltQD3DViewer 'q3vc'
- gestaltQD3DViewerNotPresent = 0,
- gestaltQD3DViewerAvailable = 1};
-
- qd3d (QuickDraw 3D ext? [1.0?])
- gestaltQD3D
- Returns if QuickDraw 3D is installed or not (no attribute bits?).
-
- enum {
- #define gestaltQD3D 'qd3d'
- gestaltQD3DNotPresent = 0,
- gestaltQD3DAvailable = 1};
-
- NOTE:
- Is there a bug with the selector function for QD 3D 1.0b1c5? Whenever
- the 'qd3d' selector is used on a PM 6100/66 (System 7.5.1) crashes
- with a 'PowerPC illegal instruction'. This is when using the Gestalt
- dcmd in Macsbug or any of the Gestalt utilities.
- (found by John Mancino and Rene Ros)
-
- qdgx (QuickDraw GX [1.0])
- gestaltGXVersion
- Returns the version of QuickDraw GX as ???.
-
- #define gestaltGXVersion 'qdgx' /* QuickDraw GX version */
-
- NOTE:
- Both the values 0x0100 8000 and 0x0001 0001 were observed.
-
- qtci (QuickTime Conferencing ext? [1.0.3])
- gestaltQuickTimeConferencingInfo &AT15
- Returns pointer to QuickTime Conferencing information, a structure:
-
- struct QTCGestaltInfo {
- long QTCversion; /* standard binary version - i.e. 0x01044007
- means "1.0.4a7" */
- char QTCversionString[20]; /* this is a pascal string, followed
- by a zero char */
- };
-
- #define gestaltQuickTimeConferencingInfo 'qtci'
-
- WARNING:
- Do not modify or dispose of the pointer to this structure - treat it
- as read-only information.
-
- NOTE:
- For compatibiity reasons the gestaltQuickTimeConferencing ('mtlk')
- selector will remain to return 0x01028000.
- The gestaltQuickTimeConferencingInfo ('qtci') selector will return the
- proper version number and string. &AT15
-
- If the Gestalt selector points at a zero version number and empty
- string, it means that some QTC-related extension has already loaded,
- but QTC itself is not installed or has not yet loaded.
- The QTCversionString is a Pascal string. Since there's a zero
- character after it, however, you can add one byte to the address and
- use it as a C string. &AT15
-
- See also the gestaltQuickTimeConferencing ('mtlk') selector.
-
- srad (System? [7.5.3?])
- (System 7.5 Update enbl [2.0])
- gestaltSoftwareVendorCode &AS22
- Returns system software vendor information.
-
- #define gestaltSoftwareVendorCode 'srad'
- #define gestaltSoftwareVendorApple 'Appl' /* System software */
- /* sold by Apple */
- #define gestaltSoftwareVendorLicensee 'Lcns' /* System software */
- /* sold by licensee */
-
- NOTE: See also the 'hrad' selector in this section.
-
- srta (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionAttr
- Returns information about the Speech Recognition Manager.
-
- enum {
- #define gestaltSpeechRecognitionAttr 'srta'
- gestaltDesktopSpeechRecognition = 1L << 0, /* Recognition using mic. */
- gestaltTelephoneSpeechRecognition = 1L << 1}; /* FUTURE */
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and the response value will
- indicate the speech recognition is available. (Rene Ros)
-
- srtb (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionVersion
- Returns the version of the Speech Recognition Manager as BCD.
-
- #define gestaltSpeechRecognitionVersion 'srtb'
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and its presence will indicate
- the speech recognition is available. (Rene Ros)
-
- strm (Remote Access Aliases ext [1.0], part of Apple Remote Access)
- gestaltRemoteAccessAttr &AD02
-
- enum {
- #define gestaltRemoteAccessAttr 'strm' /* Remote Access attributes */
- gestaltRemoteAccessExists = 0, /* ARA Connection Interface is */
- /* available */
- gestaltRemoteAccessCallOnly = 1, /* checks for ARA client &AD15 */
- gestaltRemoteAccessMPServer = 2, /* checks for ARA multi-port */
- /* server &AD15 */
- gestaltRemoteAccessVers2 = 3, /* checks for ARA 2.0 features */
- /* &AD15 */
- gestaltRemoteAccessVers21? = 4}; /* installed by ARA Personal */
- /* Server 2.1
-
- tmTE (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEAttr &AS07
- Returns information about the Text Services Manager for TextEdit.
-
- enum {
- #define gestaltTSMTEAttr 'tmTE' /* TSM for TE attributes */
- gestaltTSMTEPresent = 0, /* TSM for TE is present */
- gestaltTSMTE = gestaltTSMTEPresent};/* old name */
-
- tmTV (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEVersion &AS07
- Returns the version of the Text Services Manager for TextEdit as BCD.
-
- enum {
- #define gestaltTSMTEVersion 'tmTV' /* TSM for TE version */
- gestaltTSMTE1 = 0x100, /* TSM for TE version 1.0 */
- gestaltTSMTE2 = 0x200}; /* TSM for TE version 2.0 &AS20 */
-
- trip (WalkInit ext [1.0?])
- gestaltWalkaboutAttr
- Returns information about the Walkabout (codename?) extension.
- (Anonymous)
-
- enum{
- #define gestaltWalkaboutAttr = 'trip'
- gestaltWalkaboutPresent = 0};
-
- NOTE: See also the gestaltWalkaboutVers ('walk') selector.
-
- ttsc (Text-To-Speech Manager ext [1.0?])
- gestaltSpeechAttr
- Returns information about the Speech Manager.
-
- enum {
- #define gestaltSpeechAttr 'ttsc' /* Text-To-Speech Manager attrib. */
- gestaltSpeechMgrPresent = 0, /* bit true if Speech Mgr present */
- gestaltSpeechHasPPCGlue = 1}; /* Speech Mgr has native PPC glue */
-
- NOTE:
- With System 7.5.1 on a PowerBook Duo 210 this selector had both
- bits set indicating the PPC Glue is available, while it is not.
- (Rene Ros)
-
- unic (System [Copland?])
- (UnicodeConverter.FAT ext [1.0?])
- gestaltUnicodeAttr &AD21
- Returns information about Unicode.
-
- enum {
- #define gestaltUnicodeAttr 'unic'
- gestaltUnicodeConverterPresent = 0,
- gestaltUnicodeConverterMask = 1L << gestaltUnicodeConverterPresent};
-
- NOTE:
- The Preliminary Copland headers defined a 'gestaltUnicodeFeatures'
- constant which is now replaced by 'gestaltUnicodeAttr'.
-
- walk (WalkInit ext [1.0?])
- gestaltWalkaboutVers
- Returns the version of the Walkabout (codename?) extension as BCD.
- (Anonymous)
-
- #define gestaltWalkaboutVers 'walk'
-
- ws 1 (WorldScript I ext [7.1?])
- gestaltWorldScriptIVersion?
- Returns version of WorldScript I software as BCD.
-
- #define gestaltWorldScriptIVersion? 'ws 1'
-
- XTND (??? [???])
- gestaltXTNDAttr &AS10
- Returns information about XTND Manager?
-
- enum {
- #define gestaltXTNDAttr 'XTND'
- gestaltPPCXTNDPresent = 1};
-
- NOTE:
- Is used in some code to check if XTND engine is present. However it is
- unknown when it is installed, so supposedly it is meant for future
- use. Like a built-in XTND engine in the System Software? When the
- selector is installed all operations are dispatched through trap
- _XTNDMgr (0xABF4) otherwise the library provides the code.
- (Marco Piovanelli)
-
- Third Parties Software
- ======================
- This chapter lists selector codes of which the meaning is known or
- documented and are installed by Third Parties software.
-
- !SYM (Symbionts ext [1.0] by B. Kevin Hardman)
- gestaltSymbiontsTable
- Returns a pointer to a structure containing the size of the System
- Heap before and after loading the INITs.
-
- #define gestaltSymbiontsTable '!SYM' /* Symbionts address */
-
- ADfd (AfterDark [2.0?] by Berkeley Systems, Inc.)
- gestaltAfterDarkFolder &M05
- Returns a pointer to a procedure that gives the DirID and vRefNum of
- the 'After Dark Files' folder.
-
- #define gestaltAfterDarkFolder 'ADfd'
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- ADrk (AfterDark [2.0] by Berkeley Systems, Inc.)
- gestaltAfterDarkAttr &M05
- Returns a longword bitmask containing public information about
- After Dark.
-
- enum {
- gestaltAfterDarkAttr = 'ADrk'; /* After Dark states */
- eSystemIQActive = 0, /* SystemIQ activity monitor active */
- eSoundActive = 1, /* AD has allocated a sound channel */
- eADAcquiringPassword = 2}; /* After Dark has its password dialog up */
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- AlaC (A La Carte ext [1.1?] by Denali Software Development)
- gestaltALaCarte?
- Returns the address of the A La Carte INIT global data. The structure
- of the data is proprietary. The existence of the 'AlaC' selector
- indicates that the A La Carte INIT is loaded.
-
- #define gestaltALaCarte? 'AlaC'
-
- ApoL (Apollo ext [1.0] by Jeremy Roussak)
- gestaltApolloTable
- Returns a handle to an instance of a structure.
-
- #define gestaltApolloTable 'ApoL' /* Apollo address */
-
- NOTE:
- See for more information the Programmers' Information chapter in the
- Apollo documentation. (Jeremy Roussak)
-
- ASHI (Arashi app [???] by Juri Munkki)
- ???
- Returns information about the presence of Arashi by returning one (1)
- if loaded, and zero (0) when removed.
-
- AuBu (AutoBuild ext [1.0] by Rene G.A. Ros)
- gestaltAutoBuildVersion
- Returns the version of AutoBuild as NumVersion.
-
- #define gestaltAutoBuildVersion 'AuBu' /* AutoBuild version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- BBlk (Basic Black cp [1.3], by Mason L. Bliss)
- gestaltBasicBlackAddr
- Returns the address of Basic Black's patch globals.
-
- #define gestaltBasicBlackAddr 'BBlk' /* Basic Black address */
-
- NOTE:
- See documentation included with Basic Black for more information.
-
- BIFF (QM Biff ext [1.0] by Patrick C. Beard)
- ???
- Determines if there is mail (QuickMail). The response long word is 1
- if you have mail, and 0 if you don't.
-
- Cafe (Coffee Break appl [1.0] by Thomas Reed)
- gestaltCoffeeBreakAddr?
- Returns a pointer to a code resource owned by Coffee Break.
- Details are private.
-
- #define gestaltCoffeeBreakAddr? 'Cafe'
-
- CHSR (ChooserUser cp [1.0b4] by Flux Software)
- Returned response is private.
-
- CKI3 (AETracker cp [3.0] by C.K. Haun)
- kAETrackerGestalt
- This selector returns a pointer to the external interface routine for
- AETracker, details of which are in the AETracker interface guide.
- (C.K. Haun)
-
- #define kAETrackerGestalt 'CKI3' /* AETracker address */
-
- CsWT (Desktop Strip cp [1.0b1] by Sigurdur Asgeirsson)
- gestaltDesktopStripAttr?
- Returns information about the installed Desktop Strip software.
-
- enum {
- #define gestaltDesktopStripAttr? 'CsWT'
- gestaltDesktopStripPresent? = 0};
-
- dBgP (DBugR cp [1.0?] by Alessandro Levi Montalcini)
- ???
- Returns a pointer to a data structure with the preferences,
- identical to the data in the PREF resource, for which a template
- is included.
-
- NOTE: The d is actually the option-d character (0xB6).
-
- EagL (Eagle ext [1.4], part of Apollo 1.1 by Jeremy Roussak)
- gestaltEagleAttr?
- Returns information about the state of the Eagle background
- application.
-
- enum {
- #define gestaltEagleAttr? 'EagL' /* Eagle attributes */
- gestaltEaglePPCReady? = 0}; /* Eagle can accept next PPC */
-
- FmtD (SD Extension ext [???] by Yano Electric Co.,Ltd.)
- Returned response is unknown or private. (Anonymous)
-
- NOTE:
- Extension is included with the driver software for the hard disk and
- magneto optical disk drive products of Yano Electric Co.,Ltd..
-
- FPUE (SoftwareFPU cp [3.0?] by John Neil & Associates) &M06
- gestaltSoftwareFPUAddr?
- Detects presence of SoftwareFPU.
- If the result of the Gestalt call is noErr, then SoftwareFPU is
- installed, and the 68881 FPU reported by the gestaltFPUType selector
- is an emulated FPU. The value returned in the response is private and
- should be ignored.
-
- #define gestaltSoftwareFPUAddr? 'FPUE'
-
- FrcP (Decor cp [1.0] by Francois Pottier)
- gestaltDecorAddr
- Returns a pointer to a structure which can be read or changed, and
- enables programmers to change the picture on the desktop.
-
- #define gestaltDecorAddr 'FrcP' /* Decor address */
-
- NOTES:
- See for more information on how to use this structure the
- documentation included with Decor 1.0 or later.
-
- The c is actually the option-c character (0x8D).
-
- Frs1 (MegaDial cp [1.0] by Cypress Research)
- gestaltMegaDialAttr?
- Returns private information about MegaDial.
-
- #define gestaltMegaDialAttr? 'Frs1'
-
- FrsH (MegaDial cp [1.0] by Cypress Research)
- gestaltMegaDialAddr?
- Returns a pointer to a private function.
-
- #define gestaltMegaDialAddr? 'FrsH'
-
- FWRT (FullWrite app [2.0] by Akimbo Systems)
- gestaltFullWriteInfo
- Returns a handle to a FullWrite callbacks data structure when
- FullWrite is currently running. If it is not running 0 (zero) is
- returned.
-
- #define gestaltFullWriteInfo 'FWRT'
-
- NOTE:
- See for more information the FullWrite Extension SDK (For more
- information contact Akimbo Systems by email at FullWrite@akimbo.com)
-
- Gast (Gestalt! appl [2.9.2] by Roland Mansson)
- gestaltGestaltVersion
- Returns the version of the application as NumVersion.
- GestaltValue is removed when application quits. Just for fun.
- (Roland Mansson)
-
- #define gestaltGestaltVersion 'Gast' /* Gestalt! version */
-
- NOTE: The a is actually the option-u/a character (0x8A).
-
- Gldl (Glidel ext [2.5] by Gilles Berkovitch]
- gestaltGlidel?
- Presence indicates the succesfull installation of the extension.
-
- #define gestaltGlidel? 'Gldl'
-
- GTLK (GestaltTalk code by Brigham Stevens, Apple Computer DTS)
- ???
- Snippet code, see documentation.
-
- GWat (GestaltWatch ext [1.0] by Scot Bronson)
- ???
- Returns pointer to structure where collected information is stored.
-
- NOTE: In development, not yet available.
-
- HETE (HErbedTEe ext [1.0] by Nevin Liber, Sector Scan Software)
- Returns a pointer to private data.
-
- ICTE (ICeTEe ext [1.1], part of Internet Config
- by Quinn "The Eskimo!" and Peter N. Lewis)
- gestaltInternetConfigTEAddr?
- Returns the address of a record which is documented in the
- IC Programmer's Kit.
-
- #define gestaltInternetConfigTEAddr? 'ICTE'
-
- idle (IdleTime INIT [1.0] by UserLand Software)
- gestaltIdleTime?
- Returns the number of clock ticks since the last keystroke, disk
- insertion, mouse movement or mouse click.
-
- #define gestaltIdleTime? 'idle'
-
- IF 8 (Speak Note cp [???] by Glenn R. Howes)
- gestaltSpeechNoteAttr?
- Returns information about the installed copy of Speak Note.
-
- enum {
- #define gestaltSpeechNoteAttr? 'IF 8'
- gestaltSpeechNoteAvailable = 0};
-
- InMn (InternetMemory cp [1.0] by CircleDream Software)
- gestaltInternetMemory
- Returns information still private, until after the first release.
-
- #define gestaltInternetMemory 'InMn'
-
- JMBe (SLIP Extension ? [???] part of MacSLIP by Hyde Park Software)
- (Traceroute Ethernet LAP extension [1.0] by Jim Browne)
- gestalt???
- Returns the address of a structure as documented in the header file
- 'RawIP.h' to allow application programs to perform Raw IP writes and
- filter all incoming IP packets.
-
- #define gestalt??? 'JMBe'
-
- Kals (Alias Assistant cp [TrashAlias 1.0] formerly TrashAlias,
- by Flux Software)
- Returned response is private.
-
- Lnch (Network Time cp [2.0] by Pete Resnick)
- (First Launch Gestalt INIT code resource, by Pete Resnick)
- gestaltFirstLaunchAttr
- Returns info on whether the _Launch trap has been called by the
- System.
-
- enum {
- #define gestaltFirstLaunchAttr 'Lnch' /* _Launch information */
- gestaltFirstLaunchDone = 0}; /* _Launch called, INIT time over */
-
- NOTE:
- Bit 0 of the response, gestaltFirstLaunchDone, indicates whether the
- _Launch trap has been called since startup of the machine. All other
- bits are reserved and currently 0. Even if not installed at INIT time,
- Network Time will install the Gestalt selector if it is not already
- there when the control panel is opened and automatically set
- bit 0 to 1.
- 68000 assembler source code is available for the INIT that installs
- the selector, and INIT resource -4048 from Network Time may be
- stolen (and renumbered as desired) and used in any INIT file as
- desired. (Pete Resnick)
-
- MFK+ (Program Switcher ext [2.0] by Michael F. Kamprath)
- Returns a pointer to private data.
-
- MFK7 (Super Saver cp [1.1.2?] by Michael F. Kamprath)
- Returned response is private.
-
- MOMM (Microsoft Office Manager cp [4.2.1] part of Microsoft Office [4.2.1],
- by Microsoft Corporation)
- gestaltMSOfficeMgr
- Returns a pointer to private data.
-
- #define gestaltMSOfficeMgr 'MOMM'
-
- NOTE:
- Microsoft Office Manager is a customizable control panel allowing easy
- access to Microsoft Office apps (or any other added applications,
- files, etc), setup, and help via a new system menu. Also incorporates
- the QuickSwitch feature of Command-Tabbing through current processes.
- (Terence Worley)
-
- NIPX (Novell MacIPX cp [1.0.1] by Novell Inc.)
- gestaltNovellIPXVersion
- Returns the version of MacIPX as NumVersion.
-
- #define gestaltNovellIPXVersion 'NIPX' /* MacIPX version */
-
- NOTE:
- If the selector returns an error (i.e. no such selector?) then MacIPX
- is not installed. If the selector returns 0 then MacIPX is installed
- but the driver is not open. Any other value is the version.
- (Duane Murphy)
-
- NMBT (Attention cp [0.6] by Marco Piovanelli)
- gestaltAttentionAddr
- The response value returned is a pointer to a read-only parameter
- block in the system heap.
-
- #define gestaltAttentionAddr 'NMBT' /* Attention address */
-
- NOTE: See for more detailed information the included ReadMe file.
-
- NTim (Network Time cp [2.0] by Pete Resnick)
- Returns information private to Network Time.
-
- PNfs (FileSaver [3.0], part of Norton Utilities for Macintosh)
- Returns a private structure used by various portions of the
- Norton Utilities.
-
- PPP (PPP mdev [???], part of MacPPP by Merit Network, Inc. and the
- University of Michigan)
- gestalt???
- Returns the address of the Lap globals as documented in the header
- file 'ppp.h.source'. It's an absolutely enormous struct that contains
- among other things function pointers to let you open and close MacPPP.
- (Richard Buckle)
-
- #define gestalt??? 'PPP '
-
- NOTE:
- Source code of MacPPP is available at: ftp://merit.edu/pub/ppp/mac/
-
- PWRS (PwrSwitcher cp [1.0] by David B. Lamkins)
- gestaltPwrSwitcherTable
- Returns a pointer to a private data structure (undocumented).
-
- #define gestaltPwrSwitcherTable 'PWRS' /* Power Switcher address */
-
- SAVC (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (PixelPlay? ??? [???] by ???)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- (Sleeper cp [1.1.4?] by St.Clair Software)
- gestaltScreenSaverControl &M05
- Returns a pointer to a routine of type
-
- typedef pascal OSErr (*SaverControlProcPtr) (SaverCommand command);
-
- which allows controlling the screen saver.
-
- #define gestaltScreenSaverControl 'SAVC'
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- SAVR (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Arashi app [???] by Juri Munkki)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (Coffee Break app [1.0] by Thomas Reed)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (PixelPlay? ??? [???] by ???)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- (Sleeper cp [1.1.4?] by St.Clair Software)
- gestaltScreenSaverAttr &M05
- Returns information about the current screen saver. Defined if a
- screen saver is installed.
-
- enum {
- #define gestaltScreenSaverAttr 'SAVR' /* Screen saver attributes */
- gestaltSaverTurnedOn = 0, /* saver enabled/disabled */
- gestaltSaverAsleep = 1, /* saver currently asleep */
- gestaltSaverDemoMode = 2, /* saver sleeping in demo mode */
- gestaltSaverPasswordMode = 3, /* saver sleeping in password- */
- /* protected mode */
- gestaltAppDrawingDisabled = 4}; /* QD drawing disallowed between */
- /* module animation frames */
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- Thomas Reed wrote some source code (C) demonstrating how to install
- this selector. You can get a copy by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/gestalt-savr.txt'
-
- SCom (Super Comments cp [CommentKeeper 1.0] formerly CommentKeeper,
- by Flux Software)
- Returned response is private.
-
- SDdD (Shutdown Delay cp [2.0.1] by Alessandro Levi Montalcini)
- kSDDelayCreator
- Returns a pointer to a data structure described in the documentation
- included with Shutdown Delay.
-
- #define kSDDelayCreator 'SDdD'
-
- NOTE: The d is actually the option-shift v character (0xD7).
-
- sDmn (ScreenDaemon ext [1.0] by Mason L. Bliss)
- gestaltScreenDaemonAddr
- Returns the address of ScreenDaemon's patch globals.
-
- #define gestaltScreenDaemonAddr 'sDmn' /* ScreenDaemon address */
-
- SHCM (Shared Code Manager ext [1.0] by Eric Schlegel of Microsoft Corp.)
- gestalt???
- Returns a pointer to an undocumented entrypoint into the Shared Code
- Manager.
-
- #define gestalt??? 'SHCM'
-
- NOTE:
- The Shared Code Manager (1991) is a simple DLL mechanism that is
- currently used by Microsoft's Mac OLE 1.0 (Object Linking & Embedding)
- and the applications that use OLE 1.0. (Eric Schlegel)
-
- SIaN (future software, checked for by ShowInitAndName code [1.0]
- by Storm Impact, Inc.)
- gestaltShowInitAndName
- Returns the address of a routine to replace the drawing of the icon
- during startup. This is to easily implement future methods of drawing
- icons, perhaps even calling a System routine instead. &M08
-
- #define gestaltShowInitAndName 'SIaN'
-
- SK3F (SmartKeys cp [3.0] by Flux Software)
- Returned response is private.
-
- NOTE:
- Versions 2.1 and earlier installed the selector 'Skey'.
-
- See also selector 'SKgc'.
-
- SKey (SmartKeys cp [OneSpace INIT 1.0?-2.1] formerly OneSpace INIT,
- by Flux Software)
- Returned response is private.
-
- NOTE:
- Version 3.0 and later installs the selectors 'SK3F' and 'SKgc'.
-
- SKgc (SmartKeys cp [3.0] by Flux Software)
- Returned response is private.
-
- NOTE:
- Versions 2.1 and earlier installed the selector 'Skey'.
-
- See also selector 'SK3F'.
-
- SLip (StuffIt SpaceSaver ext [1.0?] by Aladdin Systems, Inc.)
- gestaltStuffItSpaceSaverAddr
- Returns the address of the SpaceSaver "command module" which allows
- developers to access all the functions of SpaceSaver.
- (Leonard Rosenthol)
-
- #define gestaltStuffItSpaceSaverAddr 'SLip'
-
- SNIT (Snitch cp [2.0] by Mitch Jones, Nifty Neato Software)
- kSnitchINITGestaltRec
- Returns a pointer to an INITGestalt structure.
-
- #define kSnitchINITGestaltRec 'SNIT'
-
- NOTE:
- Version 1.x returns 1 if loaded.
-
- SnLv (??? [???])
- kGestaltLevelMeter
- Defined in the SoundLevel.c source file, distributed with the
- SoundLevel sample code.
-
- #define kGestaltLevelMeter 'SnLv'
-
- SPAL (SpeakAlert ext [1.0] by Brian Stern)
- gestaltSpeakAlert
- Details are private to SpeakAlert.
-
- #define gestaltSpeakAlert 'SPAL'
-
- SWVE (SimpleWave ext [1.0b1] by Rene G.A. Ros)
- gestaltSimpleWaveTable
- Returns a pointer to an INITGestalt structure.
-
- #define gestaltSimpleWaveTable 'SWVE'
-
- TExT (FileTyper Menu cp [none], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuAttr
- Returns information about the FileTyper Menu's operation.
-
- enum {
- #define gestaltTyperMenuAttr 'TExT'
- gestalt??? = 0}; /* TRUE = NO item added to Finder's File menu */
-
- WARNING:
- No currently released version of FileTyper Menu (up to and including
- 4.1.1) installs this selector, but future versions may. Check for the
- existence of this selector first, if you use it. (Daniel Azuma)
-
- TMON (TMON Pro [3.0] by ICOM Simulations, Inc.)
- ???
- The value returned is a pointer to a Monitor information block. &M04
- (Scott Bronson)
-
- Typ4 (FileTyper Menu cp [4.1.1], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuPriv
- Returns private information, the existence of this selector indicates
- FileTyper Menu is installed.
-
- #define gestaltTyperMenuPriv 'Typ4'
-
- NOTE:
- Third parties can determine if FileTyper Menu is installed by
- checking for the existence of this selector. However, the actual value
- returned is private and subject to change. (Daniel Azuma)
-
- UMAM (Authentication Manager cp [1.0.7] by Robert John Churchill of the
- University of Michigan)
- gestaltAuthManVersion
- Returns the version of the Authentication Manager as Double BCD.
-
- #define gestaltAuthManVersion 'UMAM'
-
- YeHa (SpeedyFinder7 cp [1.5.4?] by Victor Tan)
- ???
- Returns a pointer to a private data structure (undocumented).
-
- NOTE:
- The structure to which the Gestalt selector refers changes almost
- invariably from version to version of SF7. Should someone work out
- parts of the structure of the selector keep in mind that it will
- almost certainly change in the next minor release and definitely with
- the next major release. (Victor Tan)
-
- Unknown Apple Software
- ======================
- This chapter lists selector codes of which the meaning is not documented and
- are installed by Apple Computer software.
-
- (OSType) 7
- (System [6.0.4])
- Returns (long)'carl' (the first name of one of the two original Gestalt
- programmers?) and a result code of noErr.
-
- (OSType) 13
- (System [6.0.4])
- Returns (long)'bbmc' (the initials of one of the two original Gestalt
- programmers?) and a result code of noErr.
-
- 3615 (Express Modem cp [1.0], part of Express Modem Software)
- a pc (PC Setup? cp [1.0?], part of Quadra 610-DOS software)
- admn (AppleShare Admin appl [3.0])
- gestaltASAdminAttr?
-
- enum {
- #define gestaltASAdminAttr? 'admn'
- gestaltASAdminPresent? = 0};
-
- ag_e (7.0/7.1 Apple Guide Enabler ext [???] part of Apple Guide 2.0)
- gestaltAppleGuideEnablerAttr?
- Returns information about the Apple Guide Enabler?
-
- enum {
- #define gestaltAppleGuideEnablerAttr? 'ag_e'
- gestaltAppleGuideEnablerPresent? = 0};
-
- AgVU (Agent VU ext [2.0?], part of Virtual User)
- aint (System? [7.1.1?])
-
- NOTES:
- Returns 2 on a C660AV and Q840AV.
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- apml (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltAppleMailAttr?
-
- enum {
- #define gestaltAppleMailAttr? 'apml'
- gestaltAppleMailPresent? = 0,
- gestaltAppleMail??? = 31};
-
- apmo (Extension AppleTel ext [2.1.3?])
-
- NOTE: Extension name translated from Dutch.
-
- asps (AppleShare Print Server appl [3.0])
- gestaltASPrintServerAttr?
-
- enum {
- #define gestaltASPrintServerAttr? 'asps'
- gestaltASPrintServerPresent? = 0};
-
- AtEa (At Ease Startup [2.0?], part of At Ease for Workgroups)
- ATI (??? [???])
- ATR (Type Reunion ext [1.0?] by Adobe Systems Inc.)
- bART (MacCheck app [1.0])
- BaRT (MacCheck app [1.0])
- bast (Launcher cp [1.0?], part of System 7.0.1P and 7.1P)
- batt (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- Returns information about the PowerBook battery?
-
- The debugger name for the routine which returns the response for this
- selector is called 'GETTIMELEFT'. But in what units? And what time?
- I've only seen the value 0, 5 or 6 returned. The GDEF calls the Power
- Manager (_PMgrOp [0xA085 with D0=0x00]) to get the info but I can't
- find which function. (Rene Ros)
-
- brcn (Screen? cp [1.0?] on Color Classic)
- brcN (Energy Saver cp [1.0?], part of Monitor Energy Saver)
- bugx (7.5.2 Printing Fix ext [1.0.2?])
- (System [7.5])
- (System Update ext [3.0])
- gestaltBugFixAttrsThree
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrsThree 'bugx'
- gestalt??? = 0,
- gestaltFSpCreateScriptSupportFix = 1,
- /* FSpCreate and FSpCreateResFile correctly set scriptCode in the */
- /* volume's catalog &AS23 */
- gestalt??? = 2,
- gestalt??? = 3,
- gestalt??? = 5,
- gestalt??? = 7,
- gestalt??? = 8,
- gestaltDIXZeroSupportsBadBlocks = 9, /* &AD29 */
- gestaltOTPrintingFix? = 10}; /* OT Printing fix by */
- /* 7.5.2 Printing Fix ext */
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- bugy (32-bit System Enabler [1.0])
- (Hardware System Update ext [1.0])
- (MIDI Manager ext [2.0.2?])
- (Network Launch Fix ext [1.0])
- (Sound Manager ext [3.0])
- (System? [7.1?])
- (System enabler 065)
- gestaltBugFixAttrsTwo
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrsTwo 'bugy'
- gestaltBugsEgretDispatchPatch? = 0, /* these correct the */
- gestaltBugsEgretTimePatch? = 1, /* system clock and */
- /* modem perf.? */
- gestalt??? = 2, /* unknown, Hardware Upd. */
- gestaltEgretTickHandlerPatch? = 3, /* see bit 0 & 1 ? */
- gestalt??? = 4, /* unknown, Hardw. Upd. */
- gestaltSCSIPatch? = 5, /* floppy drive fixed ? */
- gestalt??? = 6, /* unknown, Hardw. Upd. */
- gestalt32bitEnabler? = 7, /* 32-bit enabler avail?*/
- gestalt??? = 8, /* unknown, MIDI Mgr */
- gestalt??? = 9, /* unknown, Sound Mgr 3 */
- gestalt??? = 11, /* unknown, Hardw. Upd. */
- gestalt??? = 12, /* unknown, Hardw. Upd. */
- gestalt??? = 13, /* unknown, Hardw. Upd. */
- gestalt??? = 14, /* unknown, Hardw. Upd. */
- gestalt??? = 15, /* unknown, Hardw. Upd. */
- gestalt??? = 16, /* unknown, Hardw. Upd. */
- gestaltKeyboardPatch? = 17, /* corrects Adjustable */
- /* Kbd 'kbd ' response?*/
- gestalt??? = 18, /* unknown, Hardw. Upd. */
- gestalt??? = 19, /* unknown, ??? */
- gestalt??? = 20, /* unknown, ??? */
- gestalt??? = 21, /* unknown, ??? */
- gestalt??? = 24, /* unknown, ??? */
- gestalt??? = 25, /* unknown, ??? */
- gestaltFSpExchangeFilesCompatibilityFix = 26,
- /* FSpExchangeFiles compatibility code fixed &AS23 */
- gestaltNetworkLaunchFix? = 27, /* fix problem with */
- /* appl. on server */
- /* launch with 68040 */
- gestalt??? = 28, /* unknown, ??? */
- gestalt??? = 31}; /* unknown, ??? */
-
- WARNING:
- These are ALL guesses. Well not entirely, I used the ResEdit CODE
- Editor to peek into the 32-bit System Enabler, Hardware System update
- and other software. Please check if I'am right. You should be able to
- find some of the answers in the INIT resource of the Hardware Update
- and the names of the PTCH resources in version 1.0 were also useful...
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- bugz (System [7.0]/Tune-up ext)
- gestaltBugFixAttrs(One)?
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrs(One)? 'bugz'
- gestaltFixPrinting = 0,
- gestaltResponderCrashFix = 1,
- gestaltResponderVersionFix = 2,
- gestaltPurgeFonts = 3,
- gestaltAliasMgrFix = 4,
- gestaltSCSIFix = 5,
- gestaltKeyboardFix = 6,
- gestaltTrueTypeFix = 7,
- gestaltFixedMicroseconds = 8,
- gestaltSaveLastSPExtra = 9,
- gestaltVMCursorTaskFix = 10,
- gestaltDietPatches = 11,
- gestaltBackgroundPrintingPatch = 12,
- gestaltNoPreferredAlertPatch = 13,
- gestaltAllocPtrPatch = 14,
- gestaltEPPCConnectionTableFix = 15,
- gestaltDAHandlerPatch = 16,
- gestaltLaunchFix = 17,
- gestaltDeathNoticePatches = 18,
- gestaltBacklightFix = 19,
- gestaltPrintDriverFix = 20,
- gestaltPMSegmentTweaks = 21,
- gestaltWDEFZeroFix = 22,
- gestaltPACKSixFix = 23,
- gestaltResolveFileIDRefFix = 24,
- gestaltDisappearingFolderFix = 25,
- gestaltPowerBookSerialFix = 26,
- gestaltPowerBookSleepFix = 27,
- gestaltPowerBookFloppyEjectFix = 28,
- gestaltPowerBookSleepFPUFix = 29,
- gestaltPowerBookRestFPUFix = 30,
- gestalt??? = 31};
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- cate (Catalogs Extension? ext [???], part of PowerTalk)
- Bit 0 set.
-
- CDJR (Apple Menu Options cp [1.0], part of System 7.5)
- (ExtendedAppleMenu [???] by Chris Derossi)
- cfmg (System [7.1.2 on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- cith (System? [???])
- Seen under MAE 1.0.
-
- clbv (PowerTalk ext [1.0?], part of PowerTalk)
- Bit 0 set.
-
- cmic (Sound Input Amplification ext [1.0])
- Returns 1 on a PM 7200/90.
-
- cnfn (??? [???])
- Checked for by the PPC Debugger Nub extension and control panel.
-
- comp (QuickDraw Font Plus ext [???], part of the KanjiTalk 7.1)
-
- NOTES:
- The name "QuickDraw Font Plus" is translated from Japanese and may be
- translated differently by Apple Computer, Inc.
-
- I think 'comp' stands for 'composite', as the INIT contains patches to
- the Font Manager needed to handle 'composite font suitcases'.
- (Marco Piovanelli)
-
- ctxm (???)
- cuda (System? [7.1.2?], on Performa 630TV)
- gestaltCudaDispatchMgrAttr?
- Returns information about the Cuda Dispatch Manager?
-
- #define gestaltCudaDispatchMgrAttr? 'cuda'
-
- Values found: 0x0002 0025 and 0x0002 0028
-
- CYP8 (MegaPhone Menu ext [1.0] by Cypress Research Corp.,
- part of Apple Telecom)
- ddsk (DropDisk app [1.0b3], formerly Mount'em app by Mike Wise and
- Chris Cotton of Apple Computer)
- Only installed if DropDisk driver is loaded. Looks like the highword
- contains the version (of driver or application?) as BCD, while the
- low-word is a mystery.
-
- NOTE:
- See also the 'mtem' selector installed by Mount'em 1.0b1 and 1.0b2.
-
- detc (???)
- diag (Automated Diagnostics ext [1.0], part of Apple Personal
- Diagnostics 1.0)
- doub (WorldScript II ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltDoubleByteScriptVersion?
- Returns the version of WorldScript II as BCD?
-
- #define gestaltDoubleByteScriptVersion? 'doub'
-
- NOTE:
- This selector seems to be installed by WorldScript II (the
- System 7.1 ext needed to handle double-byte scripts like Japanese,
- Korean and Traditional Chinese). Known returned value is 0x0710.
- (Marco Piovanelli)
-
- dude (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- dudi (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- EM20 (Extensions Manager cp [2.0] by Ricardo Batista)
- gestaltExtensionsManager?
- Selector only indicates presence of the Extensions Manager software?
- (Anthony DeRobertis)
-
- #define gestaltExtensionsManagerExists? 'EM20'
-
- NOTE:
- Not installed by version 3.0 which is part of System 7.5?
-
- enav (System? [7.5.3])
- Observed value: 1 (PM 7500/100, PM 7600/120 and PM 8200/100 all with
- System 7.5.3).
-
- fall (WalkInit ext [1.0?], part of Walkabout)
- ???
- Returns the adres of ??? (Anonymous)
-
- fdbk (Speech Setup cp? [???], part of PlainTalk)
- fdrs (Finder [7.1.1?])
- Installed by Finder extension?
-
- flpy (System? [7.5.2?] on new Mac codenamed Elixer ID#58)
- Observed value: 0.
-
- fnda (Finder [7.1.1])
- NOTE: The a is actually the option-a character (0x8C).
-
- fnd& (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The & is actually the option-shift-a character (0xE5).
-
- fnd* (Finder [7.1.1])
- NOTE: The * is actually the shift-6 character (0xF6).
-
- fnd? (Finder [7.1.1?])
- Installed by Finder extension?
-
- fndc (Finder [7.1.1])
- fndf (Find File Extension ext [1.1.1], part of System 7.5 Update 1.0)
- Returns the type of software extending the find capabilities of the
- Finder? If the selector isn't installed the find capabilities are
- not extended or an older version of Find File is installed?
- The response is 'fndf' if Find File is installed. (Rene Ros)
-
- fndm (Powerbook 5300/2300/190 Enabler [1.2.1])
- gestaltFinder???
- By installing this selector and setting specified bits in the response
- some features of the Finder are DISABLED.
-
- enum {
- #define gestaltFinder? 'fndm'
- /* all the following bits are not defined prior to Finder 7.5.4 ? */
- gestaltFinderDisableTranslucent? = 0}; /* if set, no translucent */
- /* icons while dragging */
-
- NOTES:
- The m is actually an option-m (0xB5).
-
- See the 'fndx' (option-x) selector to ENABLE Finder features.
-
- This selector is installed on a PowerBook 5300ce by the
- Powerbook 5300/2300/190 Enabler to disable translucent dragging.
- (Masatsugu Nagata)
-
- fndn (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The n is actually an option-n, n (0x96).
-
- FNDR (Finder [7.1.1?])
- Installed by Finder extension?
-
- fndv (Finder? [???], part of System 7.5.2)
- fndx (AliasDragger ext [1.0b1] by Leonard Rosenthol)
- (ControlDragEnabler ext [1.0] by Anthonis DeRobertis)
- (Finder Enabler ext [1.0] by Marco Piovanelli)
- (Hidden Finder Features cp [1.0] by Richard Burgess)
- (Secret Finder Features ext [???] by Mark Bizer)
- gestaltFinderFeaturesAttr?
- By installing this selector and setting specified bits in the response
- some undocumented features of the Finder are ENABLED.
-
- enum {
- #define gestaltFinderFeaturesAttr? 'fndx'
- /* all the following bits are not defined prior to the */
- /* System 7.1 Pro Finder */
- gestaltFinderControlDrag? = 0, /* if set, control dragging an */
- /* item creates an alias */
- gestaltFinderRevealOriginal? = 1, /* if set, Reveal Original menu */
- /* item is added */
- /* all the following bits are not defined prior to Finder 7.5.5 */
- gestaltFinderTrashSelection? = 2, /* if set, Command-Delete moves */
- /* selection to trash */
- gestaltFinderKillZoomRects? = 3}; /* if set, no zoom rectangles */
- /* are shown. */
-
- NOTES:
- The x is actually an option-x (0xC5).
-
- See the 'fndm' (option-m) selector to DISABLE Finder features.
-
- Apperantly the Finder team implemented several features not approved
- by the 'high command'. Under normal circumstances these features are
- not available, unless the correct bit is set with the response of
- this selector. There are probably more bits defined, or already
- obsolete because the feature got implemented with later versions of
- the Finder. (Anonymous)
-
- Setting bit 1 causes a new menu item to be added to the Finder's File
- menu, just below "Find Again". The new item is "Reveal Original" and
- it instantly resolves alias files! (Marco Piovanelli)
- And it also reveals the application the selected document is opened
- with when double-clicked. (Jon Pugh)
-
- Finder 7.5.5 adds, at least, two more bits to this list. When bit 2 is
- set, using the Command-Delete moves the current selection to the Trash.
- With bit 3 one can turn the zoom rectangles, visible when opening and
- closing windows, on and off.
- System 7.5.3 and System 7.5 Update 2.0 includes Finder 7.5.5.
- (Also part of the System 7.5.3 PowerBook 5300 update?)
- (Rene Ros, based on the Secret Finder Features read-me file written
- by Marc Bizer; Masatsugu Nagata).
-
- futr (ThreadsINIT ext [2.0?], part of Threads Package)
- fstn (System? [7.5.2?])
- Returns 1 on a PB 5300 (7.5.2) and Duo 210 (7.5.3).
-
- gacc (System? [7.5.2?])
- gFax (Fax Extension ext [1.1?], part of Express Modem Software)
- gntz (System [7.1.2 on PowerMac])
- gpad (General Controls cp [7.5])
- gestaltGeneralControlsAddr?
- Returns the address to the long value returned by the 'gprf'
- selector to change that value. (Jon Pugh)
-
- #define gestaltGeneralControlsAddr? 'gpad'
-
- gprf (General Controls cp [7.5])
- gestaltGeneralControlsAttr?
- Returns information about the settings made in the General Controls
- control panel.
-
- enum {
- #define gestaltGeneralControlsAttr? 'gprf'
- gestaltControlGoDocuments? = 0, /* go to Documents folder */
- gestaltControlGoLast? = 1, /* go to last used folder */
- gestaltControlProtectSystem?= 2, /* Protect System folder */
- gestaltControlHideDesktop? = 3, /* Hide desktop */
- gestaltControlLauncher? = 4, /* Display Launcher on startup */
- gestaltControlWarnShutdown? = 5}; /* Warn on incorrect shutdown */
-
- HAM (Apple Menu Options cp [1.0], part of System 7.5)
- (HAM ??? [???] by Inline Design)
- harp (PowerBook cp? [7.2?])
- hcsl (Finder [7.1.1?])
- heap (System [7.1.2 on PowerMac])
- Bits 1 and 5 set.
-
- hgfd (AppleShare File Server appl [3.0])
- gestaltASFileServerAttr?
-
- enum {
- #define gestaltASFileServerAttr? 'hgfd'
- gestaltASFileServerPresent? = 0};
-
- HrIt (HearIt cp [1.0])
- iadj (System? [7.1.2?] with PowerTalk?)
- (Display Enabler ext, Icon relocation INIT ID#3 [1.0])
- idsp (System? [7.1?] on Macs with sound input?)
- Values found: 0xFFFF FFFF, 0x000C, 0x0000
-
- immg (??? [???] on PowerBook 520/540? and Performa 630TV)
- Value found: 0x0100 0000. Version?
-
- intD (??? [???])
-
- NOTE:
- This is a mystery selector. It isn't installed by any software, as
- far as I know, but the Finder 7.1 checks for this selector in certain
- situations. (Marco Piovanelli)
-
- irhk (IRTalk ext [1.2?])
- ???
-
- NOTE:
- Returns gestaltUnknownErr (-5550) when the extension is installed on
- a Macintosh without Infra-Red capable hardware. Or when IR software
- is disabled (AppleTalk off?). (Rene Ros)
-
- irhw (IRTalk ext [???] ?)
- ????
-
- NOTE:
- On a PM 7100 with System 7.5.3 universal this selector returns noErr
- and a response value of zero. (Jean-Pierre Curcio)
-
- jkbd (??? (Japanese!) ext [1.0], part of KanjiTalk)
- lang (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltLanguageMgrAttr
- Returns information about the Language Manager?
-
- enum {
- #define gestaltLanguageMgrAttr 'lang'
- gestaltLanguageMgrPresent? = 0,
- gestaltLanguageMgr??? = 1}; /* Japanese Language Kit v1.2 */
-
- LASB (LaserWriter Bridge cp [2.0?], part of Network Software Installer 1.5)
- gestaltLaserWriterBridgeAddr?
-
- #define gestaltLaserWriterBridgeAddr? 'LASB'
-
- ldap (???)
- lngb (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- Value found: 0x00001FFF.
-
- lstk (Speech Setup cp? [???], part of PlainTalk)
- ltma (Link Tool Manager ext [2.0?], part of Apple Remote Access 2.0)
- gestaltLinkToolVersion?
- Returns the version of the Link Tool Manager as NumVersion?
-
- #define gestaltLinkToolVersion? 'ltma'
-
- NOTE:
- The only value I've seen returned was 0x02002008, which would mean
- '2.0d8' which was not correct since the 'vers' recource said '2.0f0'.
- The value is hardcoded in the .LTM Driver resource. (Rene Ros)
-
- mash (System [7.1P?]/At Ease [1.0?])
-
- NOTE:
- The Starter cp (part of System 7.1P) and Launcher cp (part of
- System 7.5) both contain a 'mash' resource and includes a template for
- it. Can this be the same data-structure? (Rene Ros)
-
- mbox (Mailbox Extension? ext [???], part of PowerTalk?)
- gestaltMailboxVersion?
- Returns version of Mailbox software as INTEGER.
-
- #define gestaltMailboxVersion? 'mbox'
-
- MClk (Date & Time cp [7.5], part of System 7.5)
- (SuperClock! cp [4.0] by Steve Christensen)
- mfdr (At Ease [1.0])
- Returns handle to alias of At Ease Items folder?
-
- mjik (MenuMagic ext [1.0], part of System 7.1 Pro and 7.5)
- mtem (Mount'em app [1.0b1-1.0b2] by Mike Wise and Chris Cotton of
- Apple Computer)
- See the 'ddsk' selector installed by DropDisk 1.0b3 and later.
-
- mtv! (TV Setup cp [1.0], part of System for Macintosh TV?)
-
- NOTE:
- Not seen installed, disassembled control panel, meaning unknown.
- It's probably an address. (Rene Ros)
-
- Norm (68K DebugServicesINIT ext [2.0?])
- Pointer to callback function?
-
- NubA (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubD (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubH (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubV (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- octb (System? [7.5?] on PowerBook 520/540?)
- ot (??? [???])
- gestaltOpenTransportAttr?
- Returns information about the Open Transport software?
-
- enum {
- #define gestaltOpenTransportAttr? 'ot '
- gestaltOpenTransportPresent? = 0};
-
- NOTE:
- Defined with early test-versions of Open Transport? Never seen
- installed. See the 'otan' selector.
-
- otmo (Open Transport lib [1.1.1?])
- OpenTransportModemAttr?
- Returns information about the Open Transport Modem software?
-
- enum {
- #define OpenTransportModemAttr? 'otmo'
- gestaltOpenTptModemPresent? = 0x00000001};
-
- otmv (Open Transport lib [1.1.1?])
- OpenTransportModemVersion?
- Returns the version of Open Transport Modem software as NumVersion?
-
- #define OpenTransportModemVersion? 'otmv'
-
- NOTE: Observed value 0x01000080 is incorrect!?
-
- otra (Open Transport lib [1.1.1?])
- OpenTransportRemoteAccessAttr?
- Returns information about the Open Transport Modem software?
-
- #define OpenTransportRemoteAccessAttr? 'otra'
-
- NOTE: Observed value: 27 (!?).
-
- otrv (Open Transport lib [1.1.1?])
- OpenTransportRemoteAccessVersion?
- Returns the version of Open Transport Modem software as NumVersion?
-
- #define OpenTransportRemoteAccessVersion? 'otrv'
-
- NOTE: Observed value 0x01000080 is incorrect!?
-
- PhoN (PowerBook Setup cp [7.3.1?], PhoneINIT INIT resource)
- port (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltPortAttr?
- Returns information about the ports?
-
- enum {
- #define gestaltPortAttr? 'port'
- gestaltHasInternalModem? = 0?,
- gestaltHasExternalPrinter? = 1?,
- gestaltHasExternalModem? = 2?};
-
- NOTE:
- System Enabler 201 and PowerBook Duo enabler contain an GDEF resource
- which indicates bits 0, 1 and 2 can be set. (Rene Ros)
-
- ppad (Performa cp [1.1], part of System 7.1P)
- ppcv (System? [???])
- gestaltPPCVersionAttr &AS16
- Returns the version of the PPC Toolbox? Or attribute bits?
-
- #define gestaltPPCVersionAttr 'ppcv'
-
- pprf (Performa cp [1.1], part of System 7.1P)
- ptlk (Speech Setup cp? [???], part of PlainTalk)
- puir (IRTalk ext [1.2?])
- gestaltInfraRedManager?
- Returns the version of the manager for Infrared transmission? as BCD?
-
- #define gestaltInfraRedManager? 'puir'
-
- NOTE:
- Seen on PB 190cs prototype (0x0100) and PB 5300 (0x0200300). On a
- released PB 5300c it returns 0x01000200.
- (Anonymous, Rene Ros)
-
- pwtr (PowerTracer cp [1.0a2NoOpt?])
- pxtn (Desktop Printer Extension? ext [1.0])
- (QuickDraw GX? ext? [???])
- ???
- Returns the version of the ??? as NumVersion.
-
- NOTE:
- The Desktop Printer Extension included with LaserWriter 8.3 (version
- '1.0f1c2 (nodebug)') contains a resource of type 'GFUN' which looks
- very much like a selector function. The code in it checks for 'pxtn'
- and tries to return a version number. But the code 'pxtn' is never
- installed as a selector!? (Rene Ros)
-
- Remt (AutoRemounter cp [???])
- scrf (WorldScript Power Adapter ext? [7.5?])
- serh (System? [7.1.2?])
- gestaltSerialHardware?
- Returns type of hardware used for serial I/O?
-
- enum {
- #define gestaltSerialHardware? 'serh' /* Serial Hardware */
- gestaltClassicSer? = 'Clas', /* returned on PM 8100/80 */
- gestalt??? = 'Impl', /* returned on Quadra 660AV */
- /* with System 7.5.1 */
- gestalt??? = 'PdmS', /* returned on Power Mac with */
- /* Express Modem software */
- gestalt??? = 'TntS'}; /* returned on PM 7200, */
- /* PM 8500, PM 9500 with */
- /* System 7.5.2 and later models */
- /* and systems */
-
- shal (SerialDMA ext [2.0.2?] part of 7.5.2 Printing Update [1.1])
- (System [7.1?])
- gestaltSerialHAL?
-
- #define gestaltSerialHAL? 'shal'
-
- NOTE:
- Returns 1 (Centris 660AV) and 2 (PowerMacs). The SerialDMA extension
- possibly also installs value 3.
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- slnk (MNPLinkTool? [1.0], part of Apple Remote Access)
- sndx (Sound Manager ext [3.0]?)
- gestaltSoundMgrAttr?
-
- enum {
- #define gestaltSoundMgrAttr? 'sndx'
- gestaltSoundMgrPresent? = 0?};
-
- SNKR (StyleWriter 1200 ext ? [1.0?])
- sr/2 (System? [???])
- Observed on Power Macintosh 9500/120 with system 7.5.3.
-
- syep (??? [???)
- Observed on Performa 6300.
-
- thng (ThreadsINIT ext [2.0?], part of Threads Package)
- thrd (ThreadsINIT ext [2.0?], part of Threads Package)
- udsk (System [7.1.2 on PowerMac])
- udsv (System [7.1.2 on PowerMac])
- valk (System? [7.5.1?] on Power Mac 5200)
- gestaltValkyrie?
- Returns information about the Valkyrie video chip?
-
- enum {
- #define gestaltValkyrie? 'valk'
- gestaltValkyriePresent? = 0?};
-
- vdrc (PC Exchange? cp [1.0?])
- vmbs (System [7.0])
- gestaltVMBackingStoreRef?
- Returns the file reference number of the Virtual Memory storage file
- if VM is present.
-
- #define gestaltVMBackingStoreRef? 'vmbs'
-
- vmcl (System, VM on [7.0])
- vmem (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMExtensionMgr?
- Returns type of software used to extend the Virtual Memory Mgr?
-
- #define gestaltVMExtensionMgr? 'vmem'
- #define gestaltRAMDoubler? 'RaM2'
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- wnkl (System? [7.5.2?])
-
- Unknown Third Parties Software
- ==============================
- This chapter lists selector codes of which the meaning is not documented and
- are installed by Third Parties software.
-
- *DC* (DepthCharge cp [???] by Maf Vosburgh)
- 1FX2 (???)
- 1FX3 (???)
- 1FX4 (???)
- 2FX1 (ShutdownFX ext? [2.1?] by ???)
- 2FX2 (???)
- 2FX3 (???)
- 2FX4 (???)
- 5mat (???)
- Aarn (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarp', 'Aaru' and 'Copl' in this section.
-
- Aarp (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aaru' and 'Copl' in this section.
-
- Aaru (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aarp' and 'Copl' in this section.
-
- AClk (AutoClock Extension ext [1.3?] by Jean-Pierre Gachen)
- AcPC (AccessPC cp [3.0?] by Insignia Solutions)
- Version 3.0 always returns 0x8765 4321.
-
- ADex (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ADii (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
-
- ADr2 (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
-
- ADR2 (DDExpand appl [3.7.7?] by Symantec Corp.)
- Returns an pointer to a parameter block with unknown structure. Offset
- 0x0C seems to be a pointer to code. (Anonymous 'Fig')
-
- NOTE:
- Installed by a special version of the software instead of the 'ADRC'
- selector. Perhaps a special version with limited distribution to
- software vendors for working with the Autodoubler Internal (resource)
- Compressor. (Anonymous 'Fig')
-
- See also 'ADRC'.
-
- ADRC (DDExpand appl [3.7.7?] by Symantec Corp.)
- Returns an pointer to a parameter block with unknown structure. Offset
- 0x0C seems to be a pointer to code. (Anonymous 'Fig')
-
- NOTE: See also 'ADR2'.
-
- ADTK (Talk*Control cp [???] by 2Way Computing, Inc.)
- aGhN (RemoteMouse&Keys cp [1.0b1] by Alan G. Hawrelak)
- AP00..AP06
- (RapidLock cp, RapidTrak cp or drivers? [1.1], part of RapidTrak
- software by Insignia Solutions Inc.)
- It seems these selectors are installed for each harddisk connected to
- your Macintosh. The last two bytes of the selector is the SCSI ID.
-
- AP17 (AccessPC cp [2.0?] by Insignia Solutions)
- ApWi (ApplWindows cp [2.0?] by Hiro Yamamoto)
- ASB! (???)
- ASB$ (???)
- ASD* (???)
- ASTN (Asante EN/SC ext [???] by Asante Technologies, Inc.)
- aYmm (AfterDark [2.0?] by Berkeley Systems, Inc.)
- AzNe (NameView cp [2.7?] by AStar Technologies, Inc.)
- A–Tr (Trapper ext [1.0?] by Alessandro Levi Montalcini)
- BAKG (???)
- Bars (Virtual Desktop Extension ext [1.8?], part of Virtual Desktop
- by AWOL Software, Ross Brown)
- Blad (Blood cp [1.0.1?] by Alessandro Levi Montalcini)
- NOTES:
- The B is actually the option-s character (0xA7).
- The d is actually the option-d character (0xB6).
-
- bMRN (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- BTLR (Butler Access ext [1.2.7?], part of Butler Access
- by Everywhere Development Corp.
- cc20 (Conflict Catcher ext [2.0?] by ???)
- NOTE: The 'cc' are actually option-c (0x8D).
-
- cc30 (Conflict Catcher ext [3.0?] by ???)
- NOTE: The 'cc' are actually option-c (0x8D).
-
- ccGS (Conflict Catcher ext ? [3.0?] by ???)
- NOTE: The 'cc' are actually option-c (0x8D).
-
- CDFL (???)
- CDmn (CDMenu cp [1.0?] by Henrik Eliasson)
- CDUf (CDU cp [1.0?] by Connectix Corp.)
- CDUt (CDU cp [1.0?] by Connectix Corp.)
- cGnF (CommuniGate Notifier ext [1.0] by Stalker Software, Inc.)
- CiCN (Color ICON Mania cp [1.0] by Yosuke Suzuki)
- cLib (???)
- Copl (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aarp' and 'Aaru' in this section.
-
- CPPf (Power To Go cp [2.0?] by AlSoft, Inc.)
- cPPP (PPP mdev [2.5?], part of MacPPP by Merit Network, Inc. and the
- University of Michigan)
- Cut! (Desktop Shortcut cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems
- d2FM (d2 FM radio ext? ? [1.0?] by d2)
- DanS (PowerClick cp [1.0] by Daniel A. Segel)
- Day* (PowerCentral cp [1.3?] by DayStar Digital, Inc.)
- Returns 0xFFFF FFFF when no card is installed?
-
- NOTE: The * is actually the option-8 character (0xA5).
-
- Dbug (???)
- DCDt (NoDesktopCleanup cp [1.0?] by Alessandro Levi Montalcini)
- DCKc (Keys! cp [1.0] by Stefan Kurth)
- NOTE: The lowercase c is actually the control-q (Command key sign)
- character (0x11).
-
- DD37 (DiskDoubler [3.7] by Fifth Generation Systems, Inc.)
- DDAD (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTE: See also 'DDAE' and 'DDNF'
-
- DDAE (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTES:
- Installed by a special version of the software instead of the 'DDAD'
- selector. Perhaps a special version with limited distribution to
- software vendors for working with the Autodoubler Internal (resource)
- Compressor. (Anonymous 'Fig')
-
- See also 'DDAD' and 'DDNF'.
-
- DDCD (CopyDoubler cp [2.0.4?] by Symantec Corp.)
- DDJ4 (???)
- DDJB (???)
- DDNF (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTE: See also 'DDAD' and 'DDAE'.
-
- DFlh (DiskFlash cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- dkTU (Desktop Tuneup ext [2.0.1?] part of upgrade for ScreenScapes products
- by KiwiSoft)
- DlgV (Dialog View cp [2.11], formerly List Font cp by James W. Walker)
- See also 'LFnt'.
-
- DPin (Screen Posters ext [3.0?] by Berkley Systems)
- Dpth (DepthMaster cp [1.0] by Victor Tan)
- DBPR (DATEBOOK PRO Extension ext [2.0.1?] by Aldus Corporation, now Adobe)
- Returns data about the current reminder? GDEF is called with 'SvA4'
- selector to initialize data inside the GDEF. (Rene Ros)
-
- DWG! (Volume Menu cp [1.0] by David Gladstone, Chris Burns, Julian Harris)
- EDCN (PPPReport cp [1.0b3?] by Eric de la Musse)
- EgGP (Eagle ext [1.5?] part of Apollo [1.2?] by Jeremy Roussak)
- ESCa (Escapade cp [1.0?] by Christopher R. Wysocki)
- ESOC (Serial of Champions ext [???] by Mike Throckmorton)
- Extn (Now Startup Manager cp [4.0?], part of Now Utilities by Now Software)
- FCDV (RAMGauge cp [1.3?] by Syzygy Cult.)
-
- NOTE: The C is actually the option-shift-c character (0x82).
-
- ffEx (???)
- Ffpu (PowerFPU cp [1.0.1?] by John Neil & Associates)
- FI01 (???)
- Fie (Icon7 ext [???] by Inline Designs)
- gestaltIcon7?
-
- fPth (FinderPaths cp? [???])
-
- NOTE: The f is actually the option-f character (0xC4).
-
- fmci (FinderMenu INIT ext [1.0], part of UserLand's Frontier Runtime
- package)
- FMnu (Now FolderMenus cp [5.0.1], part of Now Utilities by Now Software)
- FtCg (FontPatchin cp [2.0?] by Keisuke Hara)
- FUWi (OutTheWindow! ext [1.0] by Olivier Lebra)
- FW14 (FileWave Administrator ext [2.0?], part of FileWave 2.0
- by Wave Research)
- FWCP (File Tracker Controls cp [1.0] by Mark Aiken)
- fWmM (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- FxMu (???)
- GrEG (Greg's Buttons ext [3.1.4?] by Greg Landweber)
- GtOp (MenuExtend cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- gV00 (PowerPort cp? [???])
- gV01 (PowerPort cp? [???])
- gV02 (PowerPort cp? [???])
- gV03 (PowerPort cp? [???])
- gV04 (PowerPort cp? [???])
- gV05 (PowerPort cp? [???])
- gV06 (PowerPort cp? [???])
- gV07 (PowerPort cp? [???])
- gV08 (PowerPort cp? [???])
- gV09 (PowerPort cp? [???])
- gV0A (PowerPort cp? [???])
- gVDI (PowerPort cp? [???])
- gVPf (???)
- NOTE: The f is actually the option-f character (0xC4).
-
- GVfd (???)
- GVms (???)
- GVsm (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- GVso (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- GVsp (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- GVvm (Network Modem ext ? [1.6?] by Global Village Communication)
- GVvv (Network Modem ext ? [1.6?] by Global Village Communication)
- He20 (Helium cp [1.0?] by Robert L. Mathews)
- HEID (Incognito cp [1.0?] by Manuel Veloso)
- HotK (???)
- HPBG (HP Background ext [3.0?] by Hewlett-Packard Company)
- GDEF always returns value 1.
- HPKb (??? external to MacSLIP [???] by Hyde Park Software)
- HtLk (Reference Link ext [1.0] by James W. Walker)
- IACi (QuicKeys Toolbox ext [???] by ???)
- IACk (QuicKeys Toolbox ext [???] by ???)
- iHnd (Invisible Hand cp [1.0] by Carl Mauer)
-
- NOTE:
- Because this cp patches the _Random trap you can use this selector to
- determine its presence and refuse to continue.
-
- in++ (Inline++TSM cp [2.0?] by Hideaki Iimori)
- The response is an address to a private (??? -- some fields look like
- they may be public, but the docs are in Japanese) parameter block.
- (Marco Piovanelli)
-
- Info (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- Intj (Interjection ext [???])
- JAiN (Rival cp by Inline Designs)
- gestaltRival
-
- NOTE: The i is actually the option-u/i character (0x95).
-
- jbxC (???)
- jGnE (PageUp/Down ext [n/a] by ???)
- jsm1 (???)
- JXNM (NowMenus cp [4.0?], part of Now Utilities by Now Software)
- KBCF (Easy KEYS cp [1.5] by Kerry Clendinning)
- KBCM (Menu Choice cp [???] by Kerry Clendinning)
- kPow (???)
- KQae (KQ Apple Events ext [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- KQue (KeyQuencer cp [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- LFnt (Dialog View cp [???], formerly List Font cp by James W. Walker)
- See also 'DlgV'.
-
- LLSM (SAM Intercept ext [4.0?] by Symantec?)
-
- NOTE:
- Version 4.0 of SAM from Symantec had an improperly implemented Gestalt
- function which would cause a bus error if called. SAM 4.0 *must* be
- removed (not turned off) or upgraded to at least version 4.0.1 which
- was supposed to fix this problem. (Paul Cunningham, Teknosys, Inc.)
-
- LNCH (Talk*Control cp [???] by 2Way Computing, Inc.)
- LxRZ (Retro.SCSI? ext [2.0?], part of Retrospect by Dantz Development
- Corporation)
- (Remote? cp [2.0?], part of Retrospect by Dantz Development
- Corporation)
- MAX` (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns pointer to private data?
-
- MAX~ (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns information about the PaperPort software? Attribute bits?
-
- Mgc! (Wizard INIT ext [1.0], part of Disk Wizard by Francois Pottier)
- MJC& (AutoMenus II cp [???] by Michael Conrad)
- Muet (Menuette cp [2.0.1?] by Tiger Software/Robert Matthews)
- MV10 (TearOFF cp [???] by Bad Boys' Software)
- MV20 (Speed Access ext [1.0?] by Connectix Corporation)
- MrSD (???)
- nOAg (??? cp [1.2?], part of netOctopus by Pole Position)
- nOAv (??? cp [1.2?], part of netOctopus by Pole Position)
- Returns version as NumVersion?
-
- Ndbl (NetDoubler cp [1.2?] by Asante Technologies Inc.)
- NCex (Now QuickFiler Extension ext [5.0.1], part of Now Utilities
- by Now Software)
- NGst (NokNok cp [1.0?])
- NkNk (NokNok cp [1.0?])
- NTFY (TeamNotify ext [2.0?] by Team Coordination Software Inc.)
- NowT (Now Toolbox ext [4.0?], part of Now Utilities by Now Software)
- NWin (Now Startup Manager cp [5.0.1], part of Now Utilities
- by Now Software)
- OLE2 (Microsoft OLE Extension ext [2.0.6?] by Microsoft Corporation)
- Pax! (PaperPort cp [2.0?], part of Visioneer PaperPort by Visioneer, Inc.)
- PAXC (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Has something to do with compression?
-
- PBUf (???)
- PBUt (CDU cp [1.0?] by Connectix Corp.)
- PopF (PopupFolder cp [???] by Inline Software)
- PPPp (FreePPP cp? [2.5?] by FreePPP Group Inc.)
- PrSw (???)
- PRT+ (PrintAid [0.9?] by James W. Walker)
- PtrP (PrintPatrol [1.0] by Randy DeRuiter and John Champion)
- QkMt (SuperCache cp [2.9.4?] by Optical Access Int.)
- QRef (QuickRef ext? [1.0] by Scott Bronson)
- QCam (QuickCamVideo ext [1.0] by Connectix Corporation)
- (QuickCamMic ext [1.0] by Connectix Corporation)
- QIC! (???)
- Rem* (???)
- ReSp (File Tracker Controls cp [1.0] by Mark Aiken)
- RO40 (??? [???] by ???)
- DiskCopy 6.0 checks for this selector.
-
- NOTE: Selector is (OSType) 0x5285 3430.
-
- RQDC (DropCheck cp [???] by Ronald B. Queloz)
- SCTR (FaxMonitor ext [1.6?], part of FAXcilitate by PSI)
- SDIT (???)
- SEcl (ScreenEclipse cp [1.0], part of ALSoft Power Utilities by
- ALSoft, Inc.)
- SFun (SF Windows [1.0] by Damon Cokenias)
- SFwd (Open-wide cp [3.0?] by James W. Walker)
- Sibl (Sibling Rivalry ext [2.01?] by Matt Slot)
- Returns the type of patch/resource type loaded: '68K(option-8)' or
- 'PPC(option-8)' ?
- SLi2 (StuffIt SpaceSaver? ext [???] by Aladdin Systems, Inc.)
- SLi3 (StuffIt SpaceSaver? ext [4.0?] by Aladdin Systems, Inc.)
- SLip (StuffIt SpaceSaver? ext [4.0?] by Aladdin Systems, Inc.)
- SLIP (???)
- SLP1 (SLIP Extension [???] part of MacSLIP by Hyde Park Software)
- sMon (StuffIt SpaceSaver? ext [???] by Aladdin Systems, Inc.)
- SPLO (SpigotVDIG ext [1.0] by SuperMac Technology)
- SSpe (Serial Enabler cp [1.0?] by Markus Fritze)
- ST20 (Snap-To cp [2.0?] by Trevden Sherzell)
- STM2 (Stacker Removable Extension ext [2.0?] by Stac Electronics)
- STYH (StayHere! cp [2.0?] by Nobuhiro Miyatake)
- TapT (TappyType cp [2.0?] by Colin Klipsch)
- TFI1 (True Finder Integration? cp? [???] by Aladdin Systems, Inc.)
- TFI2 (True Finder Integration? cp? [???] by Aladdin Systems, Inc.)
- TFI3 (True Finder Integration? cp? [???] by Aladdin Systems, Inc.)
- TFI4 (True Finder Integration? cp? [???] by Aladdin Systems, Inc.)
- TgrX (Xmas Lights cp [1.0] by Tiger Technologies)
- Tmon (TMON Pro cp? [3.0] by ICOM Simulations)
- TRNS (Transporter ext [???], part of SAM administrator)
-
- NOTE:
- Not sure why, but calling this selector has caused many wierd
- interface problems with our application, such as scrollbars
- disappearing, and menus disabling. (Paul Cunningham, Teknosys, Inc.)
-
- TslX (Grabber Settings cp [2.0?] part of Internet Arranger by CE Software)
- TSM+ (TSM Fix ext [1.0] by Matt Slot)
- tsmH (TSMHelper ext [???]) by Donald Brown, CE Software)
- UhOh (SpeedyFinder7 Extension ext [1.5.9h], part of SpeedyFinder7
- by Victor Tan)
- UlOn (UndelineEnabler ext [2.0?], part of FontPachin package by
- Keisuke Hara)
- See also FtCg selector.
-
- URL! (CyberFinder cp [2.0] by Leonard Rosenthol and Victor Tan)
- URLf (CyberFinder cp [MacHack 1995 release to 1.1] by Leonard Rosenthol
- and Victor Tan)
-
- NOTE:
- CyberFinder 2.0 installs the selector 'URL!'.
-
- The f is actually the option-f character (0xC4).
-
- View (StuffIt Viewer Engine [???] by Aladdin Systems Inc.)
- gestaltViewerEngine
- The gestalt selector is not installed until someone (StuffIt) invokes
- the engine.
-
- vmFn (RAM Doubler [1.0] by Connectix Corporation)
- Seems to return a memory address, perhaps to a function to control
- Virtual Memory?
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- VrkG (Virex cp? [5.5?] by Datawatch Corp.)
- VrkS (Virex cp? [5.5?] by Datawatch Corp.)
-
- NOTE:
- Merely calling the 'VrkS' selector seems to trigger a quick scan
- feature of Virex, which is only supposed to be accessible by a hot key
- setup by the Virex control panel (or something like that). When this
- happens, a dialog is displayed asking the user to select a volume or
- folder to scan. (Paul Cunningham, Teknosys, Inc.)
-
- VrkU (Virex cp? [5.5?] by Datawatch Corp.)
- WARE (???)
- WkUp (WakeUp Items cp [1.0?] by St.Clair Software)
- WREO (Replace Existing Options cp [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (0xB7).
-
- Wttf (TeachText7.0 Font ext [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (0xB7).
-
- XAsm (Speed Emulator ext [???] part of Speed Doubler by Connectix Corporation)
- xMe0 (OptiMem cp [2.0?] by Jump Dev. Group Inc.)
-
- NOTE: The 0 is a zero (0x30).
-
- YaHu (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- YAWN (Sleeper cp [1.1.4?] by St.Clair Software)
- ygS (???)
-
- NOTES:
- The y is actually option-u/y (0xD8).
- The last byte is actually the BEL ASCII code (0x07).
-
- YoHo (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- YuHu (Desktop Makeover cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- Zoom (???)
- *Men (OtherMenu ext [1.0] by James W. Walker)
-
- Gestalt Manager Calls
- =====================
-
- Gestalt Manager Routines
- ------------------------
- (Contributions to the Inline 68K code by Lawrence D'Oliveiro and Marco
- Piovanelli).
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _Gestalt (0xA1AD); (old ?: _GestaltDispatch 0xA0AD)
- Registers on entry D0: selector code
- Registers on exit A0: response
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUnknownErr -5550 Could not obtain the response
- gestaltUndefSelectorErr -5551 Undefined selector
- Inline 68K code
- $225F, { move.l (sp)+, a1 }
- $201F, { move.l (sp)+, d0 }
- $A1AD, { _Gestalt }
- $2288, { move.l a0, (a1) }
- $3E80; { move.w d0, (sp) }
-
- FUNCTION NewGestalt (selector: OSType; selectorfunction: ProcPtr): OSErr
- Available since System 6.0.4.
- Trap Macro
- _NewGestalt (0xA3AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit D0: result code
- Result codes
- noErr 0 No error
- memFullErr -108 Ran out of memory
- gestaltDupSelectorErr -5552 Selector already exists
- gestaltLocationErr -5553 Function not in system heap
- Inline 68K code
- $205F, { move.l (sp)+, a0 }
- $201F, { move.l (sp)+, d0 }
- $A3AD, { _NewGestalt }
- $3E80; { move.w d0, (sp) }
-
- FUNCTION ReplaceGestalt (selector: OSType; selectorfunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _ReplaceGestalt (0xA5AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit A0: address of old selector function
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUndefSelectorErr -5551 Undefined selector
- gestaltLocationErr -5553 Function not in system heap
- Inline 68K code
- $225F, { move.l (sp)+, a1 }
- $205F, { move.l (sp)+, a0 }
- $201F, { move.l (sp)+, d0 }
- $A5AD, { _ReplaceGestalt }
- $2288, { move.l a0, (a1) }
- $3E80; { move.w d0, (sp) }
-
- Gestalt Value Routines
- ----------------------
- Please note the GestaltValue routines can be invoked through a library,
- but since System 7.5 the GestaltValue routines are also part of the OS.
- The GestaltValue routines are stack based and don't use registers.
- The GestaltValue library first checks to see if trap 0xABF1 is implemented
- (System 7.5 and later). If trap 0xABF1 is implemented, all calls to the
- library are routed to this trap, otherwise the library uses embedded code.
- Several Apple System selectors use the GestaltValueDispatch A-trap to
- install the response value starting with System 7.5.
-
- WARNING:
- The GestaltValue library distributed originally checks for the wrong trap
- (_ThreadDispatch, 0xABF2). Make sure your software doesn't crash when this
- trap is installed.
- (Most info about the GestaltValue functions was provided by
- Marco Piovanelli and Dave Radcliffe).
-
- FUNCTION NewGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0401
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltDupSelectorErr -5552 Selector already exists
- Inline 68K code
- $303C, $0401, $ABF1;
-
- FUNCTION ReplaceGestaltValue (selector: OSType;
- replacementValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0402
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltUndefSelectorErr -5551 Undefined selector
- Inline 68 K code
- $303C, $0402, $ABF1;
-
- FUNCTION DeleteGestaltValue (selector: OSType): OSErr; and
- FUNCTION Delete (selector: OSType): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0203
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- gestaltUndefSelectorErr -5551 Undefined selector
- Inline 68K code
- $303C, $0203, $ABF1;
-
- Undocumented Gestalt Manager Routines
- -------------------------------------
- FUNCTION? GetGestaltProcPtr? (selector?: OSType;
- var selectorfunction: ProcPtr): OSErr;?
- Trap Macro
- _GetGestaltProcPtr (0xA7AD)
- Registers on entry D0: selector code?
- Registers on exit ??: address of selector function
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW Traps Interface file on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
-
- FUNCTION SetGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available since System 7.5?
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0404
- Result codes
- noErr 0 No error
- ???
-
- extern pascal OSErr GetGestaltSelectors(UInt32 theCount,
- UInt32 skipCount,
- GestaltIterator *theItems);
- Available starting with Copland?
- Trap Macro Selector
- ??? ???
- Result codes
- noErr 0 No error
- ???
-
- struct GestaltIterator {
- UInt32 totalItems;
- UInt32 validItems;
- UInt32 iterationKey;
- OSType theItems[1];
- };
- typedef struct GestaltIterator GestaltIterator;
-
- Custom Routines
- ---------------
- This section lists functions which expand some Gestalt functions using
- inline assemly code.
-
- FUNCTION GestaltSelectorZero (Selector: OSType): LongInt;
- {returns the value of the specified Gestalt selector,}
- {or zero if unknown.}
- Inline 68K code
- $201F, { move.l (sp)+, d0 }
- $A1AD, { _Gestalt }
- $6702, { beq.s @2 }
- $91C8, { sub.l a0, a0 }
- $2E88; { @2: move.l a0, (sp) }
- Description:
- With all the selectors that are supposed to return non-zero values
- if installed, it may be helpful to have an utility routine that
- returns a zero value (instead of an error) if a selector isn't
- installed. It's short and sweet because it makes a direct call to
- the _Gestalt trap; of course this means you can't use it on systems
- earlier than 6.0.4. (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltBitTest(Selector: OSType; BitNr: Integer): Boolean;
- Inline 68K code
- $321F, { move.w (sp)+, d1 }
- $201F, { move.l (sp)+, d0 }
- $A1AD, { _Gestalt }
- $6702, { beq.s @2 }
- $91C8, { sub.l a0, a0 }
- $2008, { @2: move.l a0, d0 }
- $0300, { btst d1, d0 }
- $56C0, { sne.b d0 }
- $4400, { neg.b d0 }
- $1E80; { move.b d0, (sp) }
- Description
- The GestaltBitTest is a piece of inline assembly code which tests if
- the specified bit is set in the value from the specified Gestalt
- selector (false if the Gestalt call returns an error). Example:
- GestaltBitTest(gestaltAppleEventsAttr, gestaltAppleEventsPresent)
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION CallGestaltDEF (selector: OSType;
- var result: LongInt;
- aRoutine: ProcPtr): OSErr;
- inline $205F, $4E90;
- { move.l (sp)+, a0 }
- { jsr (a0) }
- Description
- Suppose you have just loaded an GDEF resource, or replaced one and
- keep the original around and store a pointer to it somewhere
- private. Suppose next, you want to call it to obtain a response
- without using yet another selector.
- That's what the this function is useful for. Just pass it the usual
- selector and result parameters but also a pointer to the GDEF
- (Lock it if it's a relocatable block).
-
- Reports
- =======
- When someone reports some findings involving several selectors and/or a
- report is too long to include with the selector entry above, that report
- is listed here. They should be as short as possible with the maximum
- amount of information.
-
- Accessing the Gestalt Manager
- -----------------------------
- (by Rene Ros)
-
- Several applications can use additional code to expand their capabilities
- and using this they may be able to access the Gestalt Manager. The software
- listed below are additional code providing access to the Gestalt Manager.
-
- Only a few locations are listed here, use the filename to search for other
- locations. And use the nearest mirror site of FTP sites.
-
- CheckGestaltFor (Neil Shulman)
- Hypercard external to access the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/check-gestalt-for-xcmd.hqx
-
- Gestalt Pro 1.1.2 (Rene G.A. Ros)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-pro-112.hqx
-
- Gestalt XFCN 3.2.1 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/gestalt-321.hqx
-
- GestaltExt (Andre Cavegn)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-ext.hqx
-
- Get Gestalt (AppleScript addition) 1.2 by Mark Alldritt
- Provides access to the Gestalt Manager for AppleScript scripts.
-
- ftp://gaea.kgs.ukans.edu/applescript/osaxen/script-tools-131-as.hqx
-
- Informant XFCN 1.0 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/information-10-xfcn-demo.hqx
-
- AppleShare File & Print Server selector codes
- ---------------------------------------------
- (by Rene Ros)
-
- The selectors are defined when the application has run. If it is still
- running (or wasn't properly quit) the response is one. When the application
- has properly quit the response is zero.
- admn AppleShare Admin
- asps AppleShare Print Server
- hgfd AppleShare File Server
- (these three are undocumented)
-
- AppleTalk
- ---------
- (by Rene Ros)
-
- With the release of the System 7 Tuner product, AppleTalk will not be
- loaded at startup, if prior to the previous shutdown AppleTalk was turned
- off in the Chooser. Under this circumstance, the 'atkv' selector is not
- available. If the 'atkv' selector is not available under System 7, this is
- an indicator that AppleTalk cannot be turned on without doing so in the
- Chooser and rebooting the system. &AT02
-
- Clock Chipped
- -------------
- (provided by Marc Schrier with additional information from Jeff Baudin and
- Mike Cohen and edited by Rene Ros)
-
- Several Macintosh computers have been observed to return a different
- machine type value (using the gestaltMachineType selector) when the
- clock speed was changed. Mainly Power Macintosh computers behave like
- this. The following tables provide an overview of these values.
-
- In addition to clock chipping a Macintosh, you can also:
- - swap a resistor in a Centris 650 to make it a Quadra 650;
- - remove jumper J18 of a Quadra 605 and it becomes a LC475.
- - install jumper J18 on a LC475 and it becomes a Quadra 605.
- - install and remove resistors and jumpers from the Wombat motherboard
- used in the Centris 650, Quadra 650 and Quadra 800 to switch between
- those three computers and two new, unreleased machines.
- - remove the LED jumper from a PM 7500 and it becomes a PM 8500.
-
- ===========================================================================
- Machine Type values returned by clock-chipped M680x0 computers
- ===========================================================================
- Model Name CPU Speed (MHz)
- 20 25 33
- ---------------------------------------------------------------------------
- LC III 27- 62
- Q605% 93! 94- 95!
- LC475% 86! 89- 90!
- LC575 87! 91! 92-
- ---------------------------------------------------------------------------
- - value returned when unmodified
- ! value not belonging to any known, released computer
- % if you remove jumper J18 from a Q605 it becomes a LC475
- ---------------------------------------------------------------------------
-
-
- ===========================================================================
- Machine Type values returned by clock-chipped PowerPC computers
- ===========================================================================
- Model Name CPU Speed (MHz)
- 60 66.6 75 80 82 90 100 110 112 120
- ---------------------------------------------------------------------------
- PM 6100/60(AV) 75- 100 101!
- PM 6100/66(AV) 75 100- 101!
- PM 7100/66(AV) 111! 112- 113! 114!
- PM 7100/80(AV) 112 47-
- PM 8100/80(AV) 61! 64! 65-
- PM 8100/100(AV) 65 55- 40 12!
- PM 8100/110(AV) 65 55 40- 12!
- Power100# 65 55 55- 12!
- ---------------------------------------------------------------------------
- - value returned when unmodified
- ! value not belonging to any known, released computer
- # Macintosh clone by Power Computing
- ---------------------------------------------------------------------------
-
-
- ===========================================================================
- Machine Type values returned by modifying the Wombat motherboard
- ===========================================================================
- Architecture Jumper No Resistors Resistor R151 Resistor R152
- ---------------------------------------------------------------------------
- M68040 No 51! 30 C650 36 Q650
- Yes 59! 30 C650 35 Q800
- PPC PDS Card No 123 PM 800 120 PM C650 122 PM Q650
- Yes N/A 120 PM C650 123 PM 800
- ---------------------------------------------------------------------------
- ! value not belonging to any known, released computer
- ---------------------------------------------------------------------------
-
- For more info on clock-chipping (or otherwise modifying) Macintosh
- computers:
- http://bambam.cchem.berkeley.edu/~schrier/mhz.html
-
- Copland
- -------
- (provided by Anonymous contributor, edited by Rene Ros)
-
- To have the new microkernel, implemented by Copland, not depend on the
- system registry or Gestalt a system call is provided instead:
-
- enum
- {
- kSystemInformationVersion = 0
- };
-
- typedef struct SystemInformation
- {
- ItemCount numPhysicalRAMPages;
- ByteCount pageSize;
- ByteCount dataCacheBlockSize;
- UInt32 processorVersionNumber;
- UInt32 numCPUs;
- ProcessID kernelProcessID;
- };
-
- OSStatus GetSystemInformation (PBVersion theVersion,
- SystemInformation * theSystemInfo);
-
- Undoubtely Gestalt itself will use this call to return the information
- too.
-
- For more reading:
- MicroKernel White Paper
-
- Copy protection using Gestalt
- -----------------------------
- (by Rene Ros)
-
- In D e v e l o p 17 Brigham Stevens suggests to use Gestalt and FindFolder
- as a way to implement copy protection in the most compatible way possible.
- By determining several characteristics at installation from the Gestalt Mgr
- and the DirID of the System Folder with FindFolder you can check for this
- info later. When is has changed you can then ask for the serial number
- or a password again.
-
- Environs & SysEnvirons
- ----------------------
- (by Rene Ros)
-
- Using Macsbug it is very easy to determine that the SysEnvirons function
- uses the Gestalt Manager to fill the fields of the system environment
- record. So, when you install your own gestalt definitions by using the
- ReplaceGestalt function this will also change the information returned
- by SysEnvirons.
- The older Environs function doesn't use the Gestalt Mgr and the code
- looks only at two values in ROM (the machine box flag and ROM version).
-
- Executor Mac-emulator
- ---------------------
- (by Rene Ros)
-
- Executor is a Macintosh Emulator for DOS machines, published by
- Abacus Research and Development, Inc. (1993/1994). The Gestalt Manager is
- also emulated and the version I have seen (on a 486DX) says it's a MacPlus
- with a 68LC040 processor with MMU. The 'sysv' selector returns 0x607 but
- it also lists a lot of selectors usually not installed by 6.0.7. Like
- the 'edtn' and 'stdf' selectors. For those it then simply returns zero.
- Strangely enough the 'tabl' selector is not installed, but this doesn't
- confuse the Gestalt! application!
-
- Gestalt Apple Event
- -------------------
- (by John W. Baxter)
-
- The scriptable Finder, implemented by the Finder Scripting Extension,
- provides an Apple event to query the Gestalt Manager. This can be used from
- AppleScript using the 'computer' command.
- And using the PPC Toolbox this now also means you can query a remote
- computer, provided the Finder Scripting Extension is installed.
- The Finder Scripting Extension is installed with System 7.5 (which also
- includes Finder 7.1.4) but can also be used with Finder 7.1.3. The
- extension will later be rolled into the Finder.
-
- The direct parameter for this event is a Gestalt selector code. If this is
- the only parameter, the result is the result of calling Gestalt with that
- code.
-
- An optional second parameter can be included, in which case it is a 32 bit
- number against which the result of calling Gestalt with the given selector
- is tested. When this parameter is present, the event returns true if all
- bits set in the optional parameter are set in the result from Gestalt, and
- false otherwise. In AppleScript, when telling Finder:
- computer "os " has 3
- returns true if the low-order two bits are set in the result from Gestalt.
- The equivalent event built "by hand" would be addressed to Finder (on the
- machine of interest) and would have the parameters
- key value type
- '----' 'os ' typeType (alternative: "os " typeChar)
- 'has ' 3 typeLongInteger ('has ' is keyASPrepositionHas)
-
- The event class would be kAEFinderSuite ('fndr'), and the event ID would be
- kAEGestalt ('gstl').
-
- For more reading:
- D e v e l o p Magazine, Issue 20. "Scripting the Finder from your
- Application" by Greg Anderson, page 65.
- Finder Suite documentation available (starting in March 1995) on the
- Developer CD Series (Reference) as
- :Technical Documentation:Apple Events Registry & Suites:
- AE Suite Finder:Finder Suite
-
- Gestalt Applications
- --------------------
- (by Rene Ros)
-
- Several specialized applications are available to display all installed
- Gestalt selectors. And several other applications heavily depend on the
- Gestalt Manager to show information on hardware and software.
-
- Only a few locations are listed here, use the filename to search for other
- locations. And use the nearest mirror site of FTP sites.
-
- Apple System Profiler (Apple Computer Inc.)
- The first released version (1.0, initially labeled 3.5?) works only
- with System 7.5.2 and 7.5.3 with these Macintosh models:
- Power Macintosh 61xx, 7100, 7200, 7500, 8100, 8500, 9500;
- Performa 5200, 5300, 6200, 63xx;
- PowerBook 190, 2300, 5300.
- Version 1.0.1 adds support for:
- Power Macintosh 5200, 5300, 5400, 7600
- Performa 6100
-
- ftp://ftp.info.euro.apple.com/Apple.Support.Area/Apple.Software.Updates/US/Macintosh/Utilities/System_Profiler_1.0.1.sea.hqx
-
- DisplayGestalt (Craig Marciniak)
- Small application displays configuration using Gestalt Mgr, includes
- C-source.
-
- ftp://mac.archive.umich.edu/development/libraries/displaygestalt.cpt.hqx
-
- Gestalt.Appl 2.7 (Jean-Pierre Curcio)
- Displays responses from installed selectors and information about the
- returned responses.
- THIS IS THE 'OFFICIAL' GESTALT HUNTERS TOOL! Please send saved config
- files from Gestalt.Appl to the editor.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-appl-27.hqx
- http://www.bio.vu.nl/home/rgaros/gestalt/gestalt-appl.sit.hqx
-
- Contact: Jean-Pierre Curcio (JPC83@calvacom.fr)
-
- Gestalt! 3.0 (Roland Mansson)
- Displays responses from installed selectors.
-
- ftp://ftp.lu.se/pub/mac/util/gestalt300.cpt.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-300.hqx
-
- Contact: Roland Mansson (roland.mansson@ldc.lu.se)
-
- GestaltDA 0.4 (Carl C. Hewitt, Apple Computer Inc.)
- Displays responses from installed selectors.
-
- ftp://ftp.info.euro.apple.com/Apple.Support.Area/Developer_Services/Tool_Chest/OS_Utilities/GestaltDA_0.4.sit.hqx
-
- Contact: D e v e l o p (dev.subs@applelink.apple.com)
-
- Gestalt Environment 7
- Application to list a number of installed selectors.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/ge7.hqx'
-
- Go Gestalt appl 1.5 (Paul Reznick)
- Displays information obtained thru the Gestalt Mgr.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/go-gestalt-15.sit.hqx'
-
- Contact: Paul Reznick (PRzeznik@aol.com)
-
- Tattle-Tech appl (Decision Makers Software, Inc.)
- Uses Gestalt manager extensively to display all known information.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tattle-tech-22.hqx
-
- Contact: John Mancino (mancino@decismkr.com)
-
- TechTool appl 1.0.8 (Micromat Computer Systems)
- Application to reset PRAM, rebuild DTDB and show Gestalt info.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tech-tool-108.hqx
-
- GestaltValue
- ------------
- (by Marco Piovanelli, addition by Rene Ros)
-
- The first time you call NewGestaltValue, the library installs two non-
- relocatable blocks in the system heap and the 'gval' gestalt selector. One
- of the blocks is filled with code: it's actually a gestalt definition that
- implements GestaltValue's shared mechanism. The second block contains the
- selectors and values GestaltValue manages. The response returned by the
- 'gval' selector is a pointer to the second non-relocatable block in the
- system heap.
-
- Dave Radcliffe wrote on 23 March 1993 regarding some information, about the
- GestalValue glue code, listed with version 1.4 of this list:
- ---------------------------------------------------------------------------
- The information on the _GestaltValue trap (0xABF2) is correct based on the
- glue, but because of a mistake on my part, the glue should be checking for
- 0xABF1. A new version of the glue is being distributed on the developer CD
- next month...
- ---------------------------------------------------------------------------
-
- The GestaltValue library can be found at:
- ftp://sumex-aim.stanford.edu/info-mac/dev/gestalt-value-lib.hqx
- ftp://ftp.info.euro.apple.com/Apple.Support.Area/Developer_Services/Tool_Chest/OS_Utilities/GestaltValue.sit.hqx
-
- GestaltValue & CodeWarrior Problem
- ----------------------------------
- (by Francois Pottier)
-
- The GestaltValue.o library is made up of several routines. The first time
- someone calls a routine from the library, the library installs itself into
- the System Heap and uses NSetTrapAddress to set up its own trap. Subsequent
- calls to the library will just map to a trap call. This allows the code to
- be loaded only once in memory, even if several INITs use GestaltValue.
-
- What's the problem? In order to install itself into the System Heap, the
- GestaltValue code must compute how big it is; it does this by subtracting
- the address of the first routine from the address of a stub routine located
- after the last real routine. That's common practice. It assumes, however,
- that the linker will preserve the order of the routines.
-
- But CodeWarrior's "Import MPW library" command does not preserve the order
- of the functions it finds inside the .o file. As a result, when you call
- NewGestaltValue for the first time, the library finds its own size to be
- negative. It asks the Memory Manager for a block of negative size and
- returns an error (memFullErr, I believe).
-
- Note that this only happens if your software is the first to call
- GestaltValue since the machine started up. Also, it won't happen
- under System 7.5 because GestaltValue is part of 7.5. If your program
- requires 7.5, you probably don't need the GestaltValue.o glue at all.
-
- Glue code
- ---------
- (by Rene Ros, based on THINK Reference 2.0)
-
- These development/compiler software contain glue-code to handle a few
- selectors even when the Gestalt Manager is not available.
-
- THINK C (5.0 and later)
- THINK Pascal (4.0 and later)
- MPW (3.2 and later)
-
- The following selectors can be handled by the glue-code, with all others
- an error (gestaltUndefSelectorErr) will be returned.
-
- gestaltAppleTalkVersion = 'atlk';
- gestaltFPUType = 'fpu ';
- gestaltKeyboardType = 'kbd ';
- gestaltLogicalRAMSize = 'lram';
- gestaltMachineType = 'mach';
- gestaltMMUType = 'mmu ';
- gestaltPhysicalRAMSize = 'ram ';
- gestaltProcessorType = 'proc';
- gestaltQuickdrawVersion = 'qd ';
- gestaltSystemVersion = 'sysv';
- gestaltVersion = 'vers';
-
- Unless you are using direct calls, ofcourse.
-
- INITGestalt standard
- --------------------
- (by Rene Ros, based on INITGestalt proposal by Jeremy Roussak and Rene Ros)
-
- IMPORTANT NOTE:
- We, Jeremy Roussak and Rene Ros, will not work on new versions of this
- proposed standard. Apart from not having the time to work on it we found
- that it was not supported sufficiently by the programmers community.
- Perhaps because it was not backwards compatible with existing software.
- Also, we are worried by the yet unknown impact of memory protection of
- Copland (System 8?) on the way of 'memory sharing' used by INITGestalt.
-
- The INITGestalt proposal tried to define a standard memory structure which
- describes the basic information about software. Using the Gestalt call
- other software obtains a pointer to the structure for software which uses
- the INITGestalt standard.
-
- You can obtain the latest, and last, version of the INITGestalt proposal by
- sending an email, with subject 'archive get init-gestalt*', to
- gestalt-selectors-list-request@bio.vu.nl
-
- Machine Names
- -------------
- (by Rene Ros et al.)
-
- The STR# resource with ID -16395, inside the system file or enabler,
- contains a list of Macintosh machine names. The selector
- gestaltMachineType ('mach') returns a value which can be used as the index
- value with a GetIndString call to get the appropriate machine name. There
- are some exceptions to this and these are discussed in this report.
-
- On Macintosh Performas (System 7.1), the Machine Name STR# resource will
- always return the string "Macintosh" (not "Macintosh Performa 450" or
- "Performa 450"). On all other Macintoshes, the string will return the
- correct name. (Mark Dawson)
- [And] if you do a dirty install [of System 7.5 or later] (right on top of
- an existing, pre-7.5 System), your machine type and icon will be preserved.
- If you do a clean install, you'll get the generic name/icon in the
- Finder's "About This Macintosh..." dialog. (Tim Swihart)
- This can be fixed by using the freeware Mac Identifier extension, located
- at ftp://ftp.fluxsoft.com/pub/Mac_Identifier_2.0.sit.hqx.
- Or use the WhoAmI? application, which can be found at
- ftp://sumex-aim.stanford.edu/info-mac/cfg/who-am-i-121.hqx. (Rene Ros)
- Apple says that in the future ID's will be reused and the kMachineNameStrID
- will contain only the text ' Macintosh' (two spaces first) &AT01
- This policy seems to have changed because the System 7.5 Update enabler
- installed by System 7.5 Update 1.0 either contains ' Macintosh',
- ' Macintosh PowerBook' or ' Power Macintosh' (all with two leading
- spaces). Perhaps the 'mach' selector in the future will be used to indicate
- the category only. Then we'll get another mechanism/selector to get the
- real machine type? Rumour goes a new ROM is developed which allows clone
- makers to have their machines identified properly. (Rene Ros, with some
- info from John Mancino)
-
- All system enablers have the machine name resource included to replace the
- one in the System file. In most cases this resource lists the same
- Macintosh names as the original one in System 7.1 and adds the names of the
- machines the enabler is intended for. But some only list the machines the
- enabler is used with. Therefore, if you want to display the name of a
- machine which isn't of the current machine type you can't rely on this
- resource anymore. (Rene Ros)
-
- The Performa 600 was originally planned to ship as Macintosh IIvm but the
- name was changed because users thought 'vm' meant 'Virtual Memory'. MOST
- system enablers (i.e. 001, 040, 065 & 201) contain this original name.
-
- The Machine Name resource in the MAE Enabler 1.0 contains the string
- "MAE 1.0" in these items: 19, 28, 130, 131 and 132.
-
- The PowerPC Enabler 1.1 enabler contains a Machine Name resource which
- lists these names:
- items 1-66 contain the item number itself except:
- 12 Power Macintosh 8100/120
- 31 Paula's Desk Macintosh
- 39 Workgroup Server 9150
- 40 Power Macintosh 8100/110
- 46 Power Macintosh 6100/66
- 47 Power Macintosh 7100/80
- 55 Power Macintosh 8100/100
- 64 Power Macintosh 8100/60
- 65 Power Macintosh 8100/80
- 66 Power Macintosh 8100/100
- items 67-115 are empty except:
- 75 Power Macintosh 6100/60
- 100 Power Macintosh 6100/66
- 101 Power Macintosh 6100/80
- 111 Power Macintosh 7100/60
- 112 Power Macintosh 7100/66
- 113 Power Macintosh 7100/80
- items 116-123 contain the text " Power Macintosh"
- "Paula's Desk Macintosh" disappeared again with version 1.1.1 of the
- PowerPC enabler, it was replaced by the number '31' ! :-)
- The duplicate names for some of the Power Macintosh models was resolved
- and it is now know that some values belong to a never to be released
- ROM version. See the gestaltMachineType entry for more detailed
- information.
-
- The PowerBook 5300/190 Enabler now lists the full machine names again!
- (Eric-Paul Rebel)
-
- The Gestalt.h file for ETO 20 states that all future machine type
- constant names take the following form:
- gestalt<lineName><modelNumber>
- For the current lines the linename is one of the following:
- Macintosh LC "MacLC"
- Macintosh Performa "Performa"
- Macintosh PowerBook "PowerBook"
- Macintosh PowerBook Duo "PowerBookDuo"
- Power Macintosh "PowerMac"
- Apple Workgroup Server "AWS"
- The modelnumber does not include the clockspeed not minor RAM and
- harddisk configuration differences reflected in the two rightmost
- digits of the modelnumber. Hence, both a Performa 6100 and
- Performa 6115 have the constant name: gestaltPerforma6100.
- (Summarised by Rene Ros, based on Gestalt.h file provided by
- Marco Piovanelli; May 1996)
-
- Macintosh Application Environment
- ---------------------------------
- (by Rene Ros, with thanks to Jos van Wezel for providing the workstation
- and installing the software.)
-
- Using the MAE 1.0 demo version is quite stressful since it expires after
- eight hours! Copying files to a disk doesn't work also because all you
- are left with is an file with only the resource map and a few resources.
- All resources are maintained by MAE. But by using ResEdit it is possible
- to copy the resources itself one for one to a file on a floppy disk.
- Under MAE 1.0 these results were found on a SUN SPARCstation 5:
-
- ===========================================================================
- Summary of Gestalt Selectors installed with MAE 1.0
- ===========================================================================
- Selector Response Remark
- ---------------------------------------------------------------------------
- a/ux 3.0.1
- cput 5 MC68040
- fpu 0 none
- mach 19 which is the LC, but the MAE Enabler only has
- 'MAE 1.0' in the machine name STR# resource
- mmu 0 none
- proc 5 MC68040
- rom 2048K
- romv 1917
- snd 0 no sound support, no system beeps to choose from
- snhw awac
- cith 0 huh?
- ---------------------------------------------------------------------------
-
- See also a note with the gestaltMachineType ('mach') selector entry.
-
- Macintosh Compatibles
- ---------------------
- (by Rene Ros, contributions by Jean-Pierre Curcio, Kenneth Knotts and Marc
- Schrier. Also based on MacWEEK articles and GURU application by Newer
- Technologies.)
-
- So far the clone manufacturers have released computers which hardware
- is identical, though clockspeed may be different, to other computers
- released by Apple. This section contains a table of clone model names and
- the equivalent Apple ID number and constant name.
-
- The Pioneer clone (codename Pioneer MPC-GX1 where MPC stands for Multimedia
- Personal Computer) was observed at CeBIT '95.
-
- ===========================================================================
- Clone Machines
- ===========================================================================
- Manufacturer Model Name Apple Hardware Model
- ID Constant
- ---------------------------------------------------------------------------
- Daystar Genesis MP 132 ???
- Genesis MP 150 ???
- NUpowr Power PC for PowerBooks 500's
- ???
- Pioneer MPC-GX1 100 gestaltPowerMac6100_66
- Power Computing Power 100 55 gestaltPowerMac8100_100
- Power 120 12! gestaltPowerMac8100_120
- PowerCurve 601/120 108 gestaltPowerMac7200 @ 120
- PowerTower 604/166 ??? gestaltPowerMac7500 ?
- PowerTower 604/180 ??? gestaltPowerMac7500 ?
- PowerCenter 604/120 ??? gestaltPowerMac7500 ?
- PowerCenter 604/132 ??? gestaltPowerMac7500 ?
- PowerCenter 604/150 ??? gestaltPowerMac7500 ?
- PowerWave 604/120 67 gestaltPowerMac9500
- PowerWave 604/132 67 gestaltPowerMac9500
- PowerWave 604/150 67 gestaltPowerMac9500
- Radius 81/110 40 gestaltPowerMac8100_110
- System 100 ??? gestaltPowerMac8100??? ?
- UMAX Computer SuperMac Riptide ? ???
- SuperMac Storm Surge 150 ???
- SuperMac S900L ???
- SuperMac S900D ???
- ---------------------------------------------------------------------------
- ! value not belonging to any by Apple released computer
- ---------------------------------------------------------------------------
-
- Modern Memory Manager
- ---------------------
- (by John W. Baxter and Eric Schlegel)
-
- The Universal Headers from Apple have a revised Memory Manager heap zone
- header and named constants, which provide a documented methode of detecting
- the Modern Memory Manager. It is as yet unknown whether the kNewDebugHeap
- flag set implies kNewStyleHeap set. The code here does not assume so...but
- some might wish to test each flag in its own function.
-
- Boolean IsModernMemory (void) {
-
- THz myZone = GetZone ();
-
- return (myZone->heapType & (kNewStyleHeap | kNewDebugHeap)) != 0;
- }
-
- If you use older headers, replace the return statement with this line:
-
- return (0 != ((*myZone).maxNRel & 0x0600));
-
- The new headers have the heapType field as a Byte (followed by a Byte
- filler), together replacing the maxNRel short. The bits in it are defined
- by these masks:
-
- enum {
- /* masks for Zone->heapType field */
- k32BitHeap = 1, /* valid in all Memory Managers */
- kNewStyleHeap = 2, /* true if new Heap Manager is present */
- kNewDebugHeap = 4 /* true if new Heap Manager is running in debug
- mode on this heap */
- };
-
- PPC Libraries
- -------------
- (based on a posting by John Baxter in the comp.sys.mac.programmer Usenet
- newsgroup on Internet.)
-
- Some of the Gestalt selector functions are smart enough to avoid crashing
- when the user removed the library file from the Extensions folder without
- restarting the machine. And some selector functions aren't that smart.
- Safest is to preflight the first call you make into the library (for code
- or data) or include a preflight in your startup.
-
- QuickTime
- ---------
- (by Michael Hecht, additions by Rene Ros)
-
- If you install QuickTime under System 6, a major portion of the Alias
- Manager and FSSpec support is also added. But, QT doesn't implement the
- Gestalt selectors because the implementation is not complete. You must
- check for either Alias Mgr or QuickTime.
-
- These are the limitations for the Alias Mgr installed by QuickTime:
- - NewAlias will accept fromFile parameter, but it never creates a
- relative alias.
- - NewAliasMinimalFromPath and ResolveAliasFile aren't available.
- - ResolveAlias and UpdateAlias ignore the fromFile parameter.
- - MatchAlias may be called but the kARMMultVols, kARMSearchMore and
- kARMSearchRelFirst flags aren't available and ignored if passed.
- Also, a matchProc will never be called.
- - Won't mount network volumes.
-
- And these are the FSSpec calls available with System 6 when QuickTime is
- installed:
- - FSMakeFSSpec
- - FSpOpenDF
- - FSpOpenRF
- - FSpCreate
- - FSpDirCreate
- - FSpDelete
- - FSpGetFInfo
- - FSpSetFInfo
- - FSpSetFLock
- - FSpRstLock
- - FSpRename
- - FSpCatMove
- - FSpOpenResFile
- - FSpCreateResFile
- - FSpGetCatInfo
-
- See for more information Technical Note M.QT.MovieTB.Q&As (QT 510) and
- D e v e l o p 11 magazine on page 122.
-
- RAM Doubler
- -----------
- (by anonymous contributor and Rene Ros)
-
- RAM Doubler implements virtual memory in a different way than the normal
- Apple VM mechanism. It looks like this is done in corporation with Apple
- since a selector installed by RAM Doubler is 'vmem' which is all lower-case
- and thus reserved by Apple.
- In addition the response from this selector is always (long)'RaM2' which
- is the creator type of RAM Doubler. It seems this selector is used to
- indicate which software is used to extend the capabilities of the Virtual
- Memory Manager.
- RAM Doubler also installs the selector 'vmFn' which seems to be a pointer
- to a function to control RAMDoubler (1.0?) or to obtain information. It
- looks like registers are used to pass parameters to and from that function.
- D0 perhaps holds values 1 to 6 as input and perhaps A0 is used for the
- return value.
-
- pascal OSErr VMExtensionControl? (UInt16 selector, UInt32 *result)
- Registers on entry D0: selector code
- Registers on exit A0: result code
- D0: error code
- Result codes
- noErr 0 No error
- invalidSelector? 206 Invalid selector value?
- ???
-
- Values used as selector:
- enum {
- kVMControlType? = 1, /* type VM extension: RaM2 */
- kVMControlVersion? = 2, /* version VM extension as BCD */
- kVMControl??? = 3, /* engine version as BCD?: 0x0313 */
- kVMControlMemSize? = 4, /* unknown: Get/SetMemorySize? */
- kVMControlMemSize? = 5, /* unknown: Get/SetMemorySize? */
- kVMControl??? = 6, /* unknown */
- kVMContolMaxFunctions? = MAXINT}; /* returns number of valid */
- /* selectors, or any other value */
- /* outside the current 1-6 */
- /* range */
-
- Remember: all this is heresay!!!
-
- Because of all this you can imagine RAM Doubler replaces/installs the
- following System Software selectors (and I think it does):
- lram, pgsz, ram , vm , vmbs.
-
- Relabled Macintosh Models
- -------------------------
- (by Rene Ros;
- Originally based on the Mac Models List by J.D. Sterling Babcock.
- Since Summer 1995 based on MacFacts by Apple Computer Inc.)
-
- WARNING:
- This report is ready for a major revision!
-
- The Performa models usually (there are some exceptions) return a machine
- ID# for the model they are based on. The table below lists several models
- which are simply relabled and the hardware model they are based on.
-
- ===========================================================================
- Relabled Machines
- ===========================================================================
- Relabled Model Hardware Model Note
- Name Constant
- ---------------------------------------------------------------------------
- Macintosh ED gestaltMacPlus sold in Netherlands?,
- 512K with Mac SE case
- color
- Macintosh LC III+ gestaltPerforma460
- Performa 200 gestaltClassicII
- Performa 250 gestaltMacColorClassic sold in Australia and
- Britain
- Performa 275 gestaltMacColorClassic
- Performa 400 gestaltMacLCII
- Performa 405 gestaltMacLCII
- Performa 410 gestaltMacLCII
- Performa 430 gestaltMacLCII
- Performa 450 gestaltMacLCIII
- Performa 460 not relabeled, own ID
- Performa 466 gestaltPerforma460
- Performa 467 gestaltPerforma460
- Performa 475 gestaltMacLC475
- Performa 476 gestaltMacLC475
- Performa 520 gestaltMacLC520
- Performa 550 gestaltMacLC550
- Performa 560 gestaltMacLC550
- Performa 575 gestaltMacLC575
- Performa 577 gestaltMacLC575
- Performa 578 gestaltMacLC575
- Performa 580 gestaltMacLC580
- Performa 588 gestaltMacLC580
- Performa 600 not relabeled, own ID
- Performa 630 gestaltMac630
- Performa 631 gestaltMac630
- Performa 635 gestaltMac630
- Performa 636 gestaltMac630
- Performa 637 gestaltMac630
- Performa 638 gestaltMac630
- Performa 640 gestaltMac630
- Performa 5200 gestaltPowerMac5200
- Performa 5210 gestaltPowerMac5200
- Performa 5215 gestaltPowerMac5200
- Performa 5220 gestaltPowerMac5200
- Performa 5260 gestaltPowerMac5200
- Performa 5320 gestaltPowerMac5200
- Performa 5400 gestaltPowerMac5400
- Performa 6110 gestaltPowerMac6100_60
- Performa 6112 gestaltPowerMac6100_60
- Performa 6115 gestaltPowerMac6100_60
- Performa 6116 gestaltPowerMac6100_60
- Performa 6117 gestaltPowerMac6100_60
- Performa 6118 gestaltPowerMac6100_60
- Performa 6200 gestaltPowerMac6200
- Performa 6216 gestaltPowerMac6200
- Performa 6218 gestaltPowerMac6200
- Performa 6220 gestaltPowerMac6200
- Performa 6230 gestaltPowerMac6200
- Performa 6300 gestaltPowerMac6200
- Performa 6320 gestaltPowerMac6200
- PowerMac 6100/60AV gestaltPowerMac6100_60
- PowerMac 7100/66AV gestaltPowerMac7100_66
- PowerMac 8100/80AV gestaltPowerMac8100_80
- PowerMac WGS 6150/60 gestaltPowerMac6100_60
- PowerMac WGS 6150/66 gestaltPowerMac6100_66
- PowerMac WGS 8150/80 gestaltPowerMac8100_80
- PowerMac WGS 8150/110 gestaltPowerMac8100_110
- Quadra 660AV gestaltMacCentris660AV
- Workgroup Server 60 gestaltMacCentris610
- Workgroup Server 80 gestaltMacQuadra800
- Workgroup Server 95 gestaltQuadra950
- Workgroup Server 95+ gestaltQuadra950
- Workgroup Server 7250 gestaltPowerMac7200 @ 120 MHz
- Workgroup Server 8550 gestaltPowerMac8500 @ 132 MHz
- ---------------------------------------------------------------------------
-
- General Info
- ============
- The following sections provide general information needed or useful in
- relation to the Gestalt Manager.
-
- System Managers
- ---------------
- Listed below is a table with the different software components of the
- System Software with their related selectors. The selectors listed with
- this table are included in the (known) 'Apple System Software' and
- 'Apple Additional Software' chapters.
- It provides a cross-reference to selectors and a starting point into other
- documentation (Inside Macintosh).
- With System Software versions before 6.0.4 (and Gestalt) you may need to
- use TrapAvailable to determine the presence of certain system parts.
-
- ===========================================================================
- System Software components and their selectors
- ===========================================================================
- Manager Determine presence/features by using:
- ---------------------------------------------------------------------------
- 8*24 Graphics Card gc24
- A/UX a/ux
- ADB Mgr ???
- Alias Mgr alis
- AOCE Utilities ???
- Apple Event Mgr evnt
- Apple Guide help, reno
- Apple Photo Access kpcd
- Apple Remote Access arb , strm
- AppleScript ascr, ascv
- AppleTalk Mgr atkv, atlk
- AppleTalk Phase 2 atkv >= 53
- At Ease kids
- ATA Manager TrapAvailable(0xAAF1), ata
- Audio CD Access aucd
- Authentication Mgr ???
- Catalog Mgr ???
- CD-ROM Software see:
- Apple Photo Access
- Audio CD Access
- Foreign File Access
- High Sierra File Access
- ISO 9660 File Access
- CloseView BSDa
- Code Fragment Mgr cfrg
- Collection Mgr cltn
- Color Mgr ???
- Color Picker Mgr cpkr
- ColorSync Utilities cmta, cmtc
- Communications Toolbox ctbm, ctbu, ctbv
- see also:
- Communications Resource Mgr
- Connection Mgr
- Telephone Mgr
- Terminal Mgr
- Communications Resource Mgr crm
- Component Mgr cpnt
- Compression Mgr icmp
- Connection Mgr conn
- Control Mgr no need to check
- Control Strip sdev, csvr
- Cuda Dispatch Mgr cuda? (for more info:
- Developer Note 'Mac LC630 &
- Quadra 630' and SAA7194/6 Philips
- Desktop Video Handbook)
- Cursor Device Manager TrapAvailable(0xAADB)
- Cursor Utilities qd >= gestalt32BitQD
- Data Access Mgr dbac
- Date, Time and Measurement Utilities
- ???
- Debugger debugger dependant, see also MacsBug
- Deferred Task Mgr no need to check?
- Desk Manager no need to check
- Desktop Animation Mgr (Copland?)
- danm
- Desktop Mgr PBHGetVolParms fills GetVolParmsInfoBuffer.
- Test for the bHasDesktopMgr bit (12) of the
- vMAttrib field for all volumes.
- Device Mgr no need to check
- Dialog Mgr ditl, TrapAvailable(_DialogMgrDispatch)
- Dictionary Mgr dict
- Digital Signatures Mgr dsig
- Disk Initialization Mgr fs
- Display Mgr dplv, dply
- Docking Mgr ???
- Drag Manager drag
- Easy Access eajt, easy
- Edition Mgr edtn
- Event Mgr no need to check?
- Exception Mgr no need to check?
- File Mgr ???, fs
- File System Mgr fs , fsm
- File Transfer Mgr fxfr
- Finder fndr
- FindFolder function fold
- Flagship flag
- Font Mgr font
- Foreign File Access ufox
- Gestalt Mgr gval, tabl, vers, TrapAvailable(_Gestalt),
- TrapAvailable(_GestaltValueDispatch)
- Graphics Worlds (qd > gestaltOriginalQD and qd < gestalt8BitQD)
- or (qd >=gestalt32BitQD)
- Help Mgr help
- High Sierra File Access hscd
- Icon Utilities icon, TrapAvailable(_IconDispatch)
- Interprogram Messaging Mgr ???
- ISO 9660 File Access hscd, iscd
- LAP Mgr atlk >= 53
- List Mgr no need to check ?
- MacsBug See PT 535 - MacsBug Q&As TechNote
- MacTCP mtcp
- Mathematical and Logical Utilities
- no need to check?
- Memory Mgr addr, cash, lram, os
- see also: Modern Memory Mgr
- Memory Management Utilities addr, TrapAvailable(_HWPriv) ?
- Menu Mgr no need to check
- Message Mgr mess
- MIDI Mgr ???
- Mixed Mode Mgr mixd
- Modern Memory Mgr see: Modern Memory Manager section of the
- Report chapter.
- Movie Toolbox ???
- Name Registry nreg
- Navigation Services (Copland?) nvsv
- Notification Mgr nmgr, TrapAvailable(_NMInstall) with System
- before 6.0.4 ?
- OCE Toolbox ocet, oceu
- Open Firmware opfw
- OpenDoc (CALib) calb
- OS Utilities depends on call
- OSA Use Component Mgr to check for Generic
- Scripting Component
- Package Mgr no need to check
- Parameter RAM Utilities no need to check?
- PC Card Manager pccd, TrapAvailable(_PCCardDispatch) [0xAAF0]
- PC Exchange pcxg
- Picture Utilities sysv >= 0x0700
- Popup CDEF pop!
- Power Mgr powr
- PowerTalk see:
- Digital Signatures Mgr,
- OCE Toolbox,
- S&F Server,
- SDP Find,
- SDP Prompt,
- SDP Standard Directory,
- SMP Mailer,
- SMP Sendletter
- PPC Toolbox ppc
- Printing Manager no need to check?
- Process Mgr os
- Queue Utilities ???
- QuickDraw qd , qdrw
- QuickDraw 3D qd3d, q3vc, q3v
- QuickDraw GX qdgx
- QuickDraw GX Graphics gfxa, grfx
- QuickDraw GX Printing Mgr pmgr
- QuickTime qtim, qtrs
- Realtime Mgr rtmr
- Resource Mgr rsrc
- S&F Server (PowerTalk) see OCE Toolbox
- SANE (OmegaSANE) ???
- Scrap Mgr scra
- Script Mgr scr#, scri, TrapAvailable(_ScriptUtil)
- SCSI Mgr scsi
- SDP Find (PowerTalk) dfnd
- SDP Prompt (PowerTalk) prpv
- SDP Standard Directory (PowerTalk)
- sdvr
- Segment Mgr no need to check
- Server control calls TrapAvailable(ServerDispatch) [0xA094]
- Shared Library Mgr aslm, slmp
- Shutdown Mgr TrapAvailable(_Shutdown) ?, pwky
- Slot Mgr nubs, slot, slt1, sltc
- SMP Mailer (PowerTalk) malr
- SMP Sendletter (PowerTalk) spsl
- Sound Mgr snd , snhw, TrapAvailable(_SoundDispatch)
- Sound Input Mgr snd
- Speech Mgr ttsc
- Speech Recognition Mgr srta, srtb
- Standard Catalog Package ???
- Standard File Package stdf
- Standard Mail Package ???
- Standard NBP nlup
- Start Mgr ???
- System Toolbox (hardware)
- coprocessor fpu
- disks intd
- licensee hrad
- keyboard kbd
- machine mach
- main I/O bus bclk
- misc. ICs hdwr, mmu , rbv , sccr, sccw, ser ,
- via1, via2
- processor cput, pclk, proc, sysa
- RAM ICs ram , prty
- ROM ICs rom , romv
- trackpad tpad
- System Toolbox (software) lmem, micn, misc, os
- licensee srad
- trap tables ostt, tbtt, xttt
- version osyv, sysu, sysv
- Telephone Mgr tele
- Terminal Mgr term
- Text Services Mgr tsma, tsmv
- Text Services Manager for TextEdit
- tmTE, tmTV
- Text Utilities depends on call
- TextEdit te , teat
- Thread Mgr thds
- Time Mgr